Matlab中利用二分法求方程的根

最近开始学习了Matlab,花了几天时间在B站上看完了GYF老师讲的Matlab,感觉讲的挺不错,英文PPT,还能同时学习英语,嘿嘿嘿~~紧接着,就是做一些基础编程题啦,下面是根据老师讲的,用二分法实现方程根的求解。
⑧说了,开冲~!!!
下图是我的思路,用的while循环
Matlab中利用二分法求方程的根_第1张图片
代码如下,

clear;
clc;
syms U L;    %将区间上下限定为变量
f=@(x) sin(x)+x+1;    %求给定的函数,可以直接在本行中修改后面代码为其他函数
U=input('输入求根区域上限upper,U=');    
L=input('输入求根区域下限lower,L=');
while U-L>0.000001    %设定一个求根区域精度,然后进行判断
    root=(U+L)/2;    %当根的区间大于所给精度时,利用二分法重新规划求根区间
    if f(root)==0    
        break;    %r恰好为所求根,直接跳出循环
    end
    if f(root)*f(U)<0    %用零点存在定理判断根所在的区域
        L=root;
    else
        U=root;
    end
end
root    %直接输出所求根的值

运行后,
Matlab中利用二分法求方程的根_第2张图片
这个用的当型循环,直到型循环思路还是挺相近的。
还有一种“牛顿迭代法”求根,下次再写,hhh~
新手第一次写博客,尝尝鲜,哈哈~
大佬们写难的,咱就先从最简单的开始写,冲就完事了~~

你可能感兴趣的:(编程的开始,新手上路,冲冲冲)