读书人

曲线方程求拐点座标

发布时间: 2013-07-08 14:13:00 作者: rapoo

曲线方程求拐点坐标
RT 曲线拟合后得到一个方程
y = (0.000116176242636361) * x * x * x + (-0.0369042410603229) * x * x + (3.18057383667107) * x + (-14.7459220790877)
先要求其拐点坐标。【最好能把每两个拐点之间的距离和圆心坐标也求出来】,先奉上100分,求各位大神帮帮忙,小弟感激不尽! 曲线 拐点
[解决办法]
它的一阶导数是
y' = 3 * (0.000116176242636361) * x * x + 2 * (-0.0369042410603229) * x + (3.18057383667107)
将 y' = 0代入,用一元二次方程的那个公式即可求拐点。
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

学过数学的人只需要几次乘除,一个开方运算即可。不懂数学的人需要做999次循环,还要“排序”。而且鬼才知道精确不精确。如果你想把精度提高到和直接计算相仿的程度,你可能得做99...999次循环。
要求拐点坐标是不是要求方程的二阶导数为0的点?

我说的很清楚,是一阶导数,怎么是“二阶导数”?你知道什么是“二阶导数”么?
我是看的这篇博文http://xuxzmail.blog.163.com/blog/static/251319162012010104420427/

只要一阶导数就可以了。文章是错的。
我查了资料又问了别人都说是二阶导数为0的点啊


二阶导数为0的点求出来的是拐点切线为水平的拐点。而且,一些函数二阶还不可导。
我现在懵了,到底是求一阶还是二阶,顺便问一句 2+x^3-2x^2+3x>0 c#中怎么判断这个式子有没有解?

f(x)=2+x^3-2x^2+3x>0
f'(x)=3x^2-4x+3
f"(x)=6x-4
x=2/3时f"(x)为0,有解。
一阶为零是指斜率为零,二阶为零才是求拐点。
[解决办法]
天天写逻辑,数学都还老师了……
看看是不是这样?就记得这几个高中学的公式了,请无视相当随意的变量名

void Calc(double a, double b, double c, double d)
{
double a1 = 3 * a;
double b1 = 2 * b;
double c1 = c;


double tmp = b1 * b1 - 4 * a1 * c1;
if (tmp < 0)
{
Console.WriteLine("无解");
return;
}

double x1 = (-b1 + Math.Sqrt(tmp)) / (2 * a1);
double x2 = (-b1 - Math.Sqrt(tmp)) / (2 * a1);
double y1 = a * Math.Pow(x1, 3) + b * Math.Pow(x1, 2) + c * x1 + d;
double y2 = a * Math.Pow(x2, 3) + b * Math.Pow(x2, 2) + c * x2 + d;
Console.WriteLine("坐标1:{0},{1},坐标2:{2},{3}", x1, y1, x2, y2);

double distance = Math.Sqrt(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2));
Console.WriteLine("两点间距离:" + distance);
}

//Calc(0.000116176242636361, -0.0369042410603229, 3.18057383667107, -14.7459220790877)
//结果:
//坐标1:151.559488381255,24.0512749955817,坐标2:60.2120994687416,68.3280259388061
//两点间距离:101.512443253141



圆心我就不知道了,两点确定不了圆心
[解决办法]
二阶导数求出来是多少就多少,楼猪纠结个毛的凹凸。。
三次曲线的二阶导是一次函数,你还想要几个拐点?
(ax3+bx2+cx+d)''=6ax+2b
(ax3+bx2+cx+d)'''=6a
f''(x)=6ax+2b=0且f'''(x)=6a≠0的就是拐点
x=-b/3a
拿好不谢。。

读书人网 >C#

热点推荐