用MATLAB实现二分法解一元方程
使用数学软件MATLAB编程,实现二分法解方程(一元方程)。
操作方法
- 01
新建m文件Erfenfa.m,输入如下的程序,并保存: clear jd=0.000001; %计算精度 i=0; %i是为了防止嵌套调用次数超出堆栈空间 a=200;%[a,b]为迭代范围 b=550; %可以先用画函数图的方法把迭代范围找到,以尽量缩小迭代范围 ErfenfaFun(a,b,jd,i); %调用函数ErfenfaFun解方程
- 02
新建m文件ErfenfaFun.m,输入如下程序,并保存: function out=ErfenfaFun(a,b,jd,i) %函数的调用形式 ErfenfaFun(a,b,jd,i) %用二分法解出方程pfun的数值解,求解范围为[a,b],精度为jd,i是为了防止嵌套调用次数超出堆栈空间 if(i==499||pfun(a)*pfun(b)>0) %防止函数嵌套调用次数超出堆栈空间 disp('给出的范围无法迭代出结果') return end c=(a+b)/2; if(pfun(c)==0) disp('方程的解为:') disp(c) return elseif(pfun(a)*pfun(c)<0) b=c; elseif(pfun(c)*pfun(b)<0) a=c; end if(abs(a-b)<jd) disp('方程的解为:') disp(a) return else i=i+1; ErfenfaFun(a,b,jd,i); end end
- 03
新建m文件pfun.m,输入如下程序,并保存: function y=pfun(v) %在这个函数程序中输入要解的函数体,可根据自己的需要输入相应的式子 z =0.78; v0 = 1300; t = 0.001; y = (v0/v-1)*z/t-v0*log(v0/v); end
- 04
运行Erfenfa.m文件,可在命令行窗口中看到方程的解。