x0=1;
do
{
x=x0; //初值
f1=pow(x,7)-28*pow(x,4)+14;
f2=7pow(x,6)-112pow(x,3); //对函数 f1 求导
x0=x-f1/f2; //迭代公式
}
while(fabs(x0-x)>1e-5);
printf(“%9.8f\n”,x0);
return 0;
}
(2)Matlab实现
%Newton 迭代法
x=1;
while abs(x.(7)-28*x.(4)+14)>0.00001
x=x-(x.(7)-28*x.(4)+14)/(7*x.(6)-112*x.(3));
end
vpa(x,8)
[注]Matlab中vpa()函数的应用。函数的应用。")(本例中精度为保留8位有效数字)