二分法matlab程序(matlab二分法程序?)
matlab二分法程序?
二分法的基本思想
一般来说,对于函数f(x),如果有实数c,当x=c时,如果f(c)=0,则x=c称为函数f(x)的零点。解方程需要f(x)的全零。
假设f(x)在区间(x,y)上连续
先找出A和B属于区间(x,y),使得f(a)和f(b)的符号不同,也就是说区间(A,B)中一定有零,然后求出f[(a b)/2]。
现在假设f(a)lt0,f(b)gt0,altb。
1如果f[(a b)/2]=0,则该点为零。
若f[(a b)/2]lt0,则区间((a b)/2,b),(a b)/2gt=a有零,从开始继续使用。
2中点函数值判断。
若f[(a b)/2]gt0,则区间(a,(a b)/2),(a b)/2lt=b存在零点,从开始继续使用中点函数值进行判断。
这样就可以一直趋近于零。
通过将f(x)的零点所在的单元格一次缩小一半,使区间的两个端点逐渐逼近函数的零点,从而得到零点的近似值。这种方法叫做二分法。
从上面可以看出,每次运算后,区间长度减少一半,这就是线性收敛。另外二分法不能计算重根和重根。
二分法步骤
用二分法求方程根的近似值的步骤
1如果是,里面至少有一个根。
中点2的计算
3如果是根,停止计数,
运行后输出结果。
如果有,里面至少有一个根。拿;
如果是,则取;
(4)如果(预先给定所需精度)退出计算,运行后输出结果,否则返回步骤1,重复步骤1、2、3。
二分法Mtalab程序
符号x
Fun=input(#039;(输入函数形式)fx=#039;)
a=输入(#039;(输入二分法的下限)a=#039;)
b=输入(#039;(二分法的输入上限)b=#039;)
d=input(#039; input error limit d=#039;) %二分法求根
%f=inline(x^2-4*x 4)
%修改要求解的内联函数的函数体。
f=inline(fun) %修改要求解的内联函数的函数体。
e=b-a k=0
而egtd
c=(a b)/2
if f(a)*f(c)lt0
b=c
elseif f(a)*f(c)gt0
a=c
其他
a=cb=c
结束
e=e/2 k=k 1
结束
x=(a b)/2
X%x就是答案。
K%k是次数。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。