问题叙述
求解
12 3x 2cos x 0
的解;通过编写 matlab 程序分别用分析二分法和牛顿迭代法
求解方程,通过两种方法的比较,分析二者求解方程的快慢程度。
由 matlab 画图命令,容易得到此方程解的范围为(2,4);两种迭代方法,在使用相同
的误差(0.00001)的情况下,得出 matlab 迭代次数,通过次数的比较得出二者求解速度快
f=inline('12-3*x+2*cos(x)');
er=b-a;ya=f(a);k=0;er0=0.00001;
while er>er0
x0=.5*(a+b);
y0=f(x0);
if ya*y0<0
b=x0;
disp([a,b]);er=b-a;k=k+1
end
%显示各个区间值和求解次数;
%显示最后一个区间值;
f=inline('12-3*x+2*cos(x)');
format long
b=3;a=4;k=0;
y0=f(b);y=f(a);
while abs(b-a)>0.00001
t=a-y*(a-b)/(y-y0);
b=a;y0=y;
%显示各个区间值和求解次数;
%显示最后一个区间值;