迭代法小问题
我们没学过迭代法,上网看的,然后书上有课后题是:用二分法求下面方程(-10,10)之间的根
2*x^3-4*x^2+3*x-6=0
树上的程序是这样的:
# include <stdio.h>
int main(void)
{
double x1 = -10, x2 = 10, y1, y2;
do
{
y1 = 2*x1*x1*x1 - 4*x1*x1 + 3*x1 - 6;
x1 = x1 - y1/(6*x1*x1 - 8*x1 + 3);
}while(y1 != 0);
do
{
y2 = 2*x2*x2*x2 - 4*x2*x2 + 3*x2 - 6;
x2 = x2 - y2/(6*x2*x2 - 8*x2 + 3);
}while(y2 != 0);
printf("x1 = %.3lf, x2 = %.3lf\n", x1, x2);
return 0;
}
但我将x1和x2不赋值结果也是以一样的,这个事特殊情况?
牛顿迭代法到底是什么思想,我在网上搜的资料现在,也就是记住了这个公式。。
到底x1和x2什么时候需要赋值???不懂
[解决办法]
相当于这般查找去求方程的近似解
[解决办法]
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn+1=Xn-f(Xn)/f'(Xn),称为r的n+1次近似值。
==========================================================================================
百度上搜的,看这个能看懂吗?自己画个图像做切线看看吧。