MATLAB使用牛顿迭代法求方程近似根的例子例题
例题 使用牛顿迭代法求方程x 3 +x-1=0在[0,1]内的近似根。
解: 令f(x)=x 3 +x-1,则f′(x)=3x 2 +1,由式(2.7),设置迭代格式:
程序如下:
function x = exam2_4(xx,n)
%牛顿迭代法,xx为迭代初值,n为迭代步数
x(1)=xx;
for i=1:n
x(i+1)=x(i)-(x(i)^3+x(i)-1)/(3*x(i)^2+1);
end
命令窗口下执行:
>> format long
>> x=exam2_4(1,10)
可得迭代序列:
ans =
1.000000000000000 0.750000000000000 0.686046511627907 0.682339582597314
0.682327803946513 0.682327803828019 0.682327803828019 0.682327803828019
0.682327803828019 0.682327803828019 0.682327803828019
由此可看出,牛顿迭代法的收敛速度快于二分法。