用牛顿迭代法求方程3*x*x*x-4x^2-5x+13=0在x=1附近的根,要求精度为10^...
发布网友
发布时间:2024-01-01 22:02
我来回答
共3个回答
热心网友
时间:2024-08-04 02:37
我出略算了一下,好像有一个最近的实根是-1.5489,在x=1附近有两个函数一阶导为0,一个是-0.4234,另一个是1.3122.
函数二阶导在x=1大于0,所以x=1应当在下降段,而在x=1处函数值为正,且x=1.3122处函数也为正,所以右边没有实根,在左边的实根为x=-1.5489。所以不知道是你的题目错了还是什么问题。下面是我的源程序:(请批评指正)
x1=1;
absolution=1;
while absolution>10e-6
y1=3*x1^3-4*x1^2-5*x1+13;
x3=x1;
y2=9*x1^2-8*x1-5;
x2=x1-y1/y2;
absolution=abs(x2-x1);
x1=x2;
end
x=x3
热心网友
时间:2024-08-04 02:34
迭代公式x(k+1)=x(k)-f'(x(k))/f''(x(k))
k=1,2.....,直到你要的精度
x(1)=1
当|x(k+1)-x(k)|<10^-6,时,迭代结束
如果你要的是程序,就不应该在这提问
热心网友
时间:2024-08-04 02:36
初始
设f(x)=3x^3-4x^2-5x+13;
求导:f'(x)=9x^2-8x-5;
估计根的范围[a,b]
x0:=1;
m为f'(x)在[a,b]上的最小值
循环:
{
切线:g(x)-f(x0)=f'(x0)*(x-x0);
x0':=(f'(x0)*x0-f(x0))/f'(x0);
x0:=x0'
误差估计:若abs(f(x0)/m)<=10^-6则x0即为所求
}