谁可以详细讲解一下迭代法【50悬赏】
迭代法求解方程
#include
main()
float x,x0;
int i;
x0=1.5;
for(i=0;;i++)
x=1+1/x0/x0;
if(fabs(x-x0)<0.000001)break;
else x0=x;
printf("CISHU=%d x=%f\n",i+1,x);
}2113
同你5261的答4102案1653相专同属设f(x)=2x^3-4x^2+3x-6,对它求导的f'(x)=6x^2-8x+3
根据牛顿迭代公式令x(k+1)=x(k)-f[x(k)]/f'[x(k)]
然后将x(0)=1.5代入方程
xf(x)f'(x)
1.5-3.754.5
2.333333332.296317.0000
2.19826
方程的根就是2.19826
取得精度不同,算出来的数据可能稍有差别,如果这个数据精度不够要求,你可以按照这个方法再往下算几次就可以了|#include
double A(double x0)
static int count=0;
double x;
if((x=1+(1.0/x0)/x0)>x0+0.000001||x { ++count; return A((x+x0)/2.0); } else { printf("迭代%d次\n",count); return x; } } int main() printf("x=%lf",A(1.5)); getch(); return 0; 结果2113迭代8次,x=1.465571 不知道5261你的答案对不4102对,我的程序思想还是对的1653,可能有细节错内了,自己看一下吧容设f(x)=2x^3-4x^2+3x-6,对它求导的f'(x)=6x^2-8x+3 根据牛顿迭代公式令x(k+1)=x(k)-f[x(k)]/f'[x(k)] 然后将x(0)=1.5代入方程 f'(x) -3.75 2.33333333 2.2963 17.0000 2.19826 方程的根就是2.19826 取得精度不同,算出来的数据可能稍有差别,如果这个数据精度不够要求,你可以按照这个方法再往下算几次就可以了
- 上一篇: 中环世贸股票分析(中环股份股票分析)
- 下一篇: 大盘5连阳股票分析(怎么分析大盘和股票)