用MATLAB实现二分法解一元方程

 时间:2026-02-14 10:42:56

1、新建m文件Erfenfa.m,输入如下的程序,并保存:

clear

jd=0.000001; %计算精度

i=0;  %i是为了防止嵌套调用次数超出堆栈空间

a=200;%[a,b]为迭代范围

b=550;  %可以先用画函数图的方法把迭代范围找到,以尽量缩小迭代范围

ErfenfaFun(a,b,jd,i); %调用函数ErfenfaFun解方程

2、新建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

3、新建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

4、运行Erfenfa.m文件,可在命令行窗口中看到方程的解。

用MATLAB实现二分法解一元方程

  • 大创流程是什么
  • 在分部积分法使用中,如何选取u和v?
  • MATLAB怎么安装
  • arcsinx的图像是什么
  • 实验报告里的实验分析怎么写
  • 热门搜索
    母亲节手抄报简单好画 关于长征的手抄报 爱护牙齿手抄报 战疫情手抄报 防疫有我爱卫同行手抄报 爱护公物手抄报 文明城市手抄报内容 环保知识手抄报 我和我的祖国手抄报简单又漂亮 爱祖国的手抄报