基于matlab的数值分析( 非线性方程求根)上机实验报告
数值分析试验报告
非线性方程求根
二分法解方程
1. 题目:用二分法求方程x 3x 1 0的所有根 3
2. 方法:二分法 3. 程序
function x=erfenfa(a,b)
if (a*a*a-3*a-1)*(b*b*b-3*b-1)>0 disp('区间错误,请重新调试!'); break else x=(a+b)/2.0; k=0;
while (k<=100&abs(x*x*x-3*x-1)>0.0001&b-a>0.0001) if (x*x*x-3*x-1)*(a*a*a-3*a-1)<0 b=x; else a=x; end x=(a+b)/2.0; k=k+1; k,x if k==100
display('计算方法错误,请重新调试!'); end end end
disp(['k=',num2str(k)])
4. 结果
>> format compact >> erfenfa(1,2) k = 1 x =
1.75000000000000 k = 2
x =
1.87500000000000 k = 3 x =
1.93750000000000 k = 4