二分法matlab程序(matlab二分法程序?)
matlab二分法程序?二分法的基本思想一般來(lái)說(shuō),對(duì)于函數(shù)f(x),如果有實(shí)數(shù)c,當(dāng)x=c時(shí),如果f(c)=0,則x=c稱為函數(shù)f(x)的零點(diǎn)。解方程需要f(x)的全零。假設(shè)f(x)在區(qū)間(x,y)上

matlab二分法程序?
二分法的基本思想
一般來(lái)說(shuō),對(duì)于函數(shù)f(x),如果有實(shí)數(shù)c,當(dāng)x=c時(shí),如果f(c)=0,則x=c稱為函數(shù)f(x)的零點(diǎn)。解方程需要f(x)的全零。
假設(shè)f(x)在區(qū)間(x,y)上連續(xù)
先找出A和B屬于區(qū)間(x,y),使得f(a)和f(b)的符號(hào)不同,也就是說(shuō)區(qū)間(A,B)中一定有零,然后求出f[(a b)/2]。
現(xiàn)在假設(shè)f(a)lt0,f(b)gt0,altb。
1如果f[(a b)/2]=0,則該點(diǎn)為零。
若f[(a b)/2]lt0,則區(qū)間((a b)/2,b),(a b)/2gt=a有零,從開(kāi)始繼續(xù)使用。
2中點(diǎn)函數(shù)值判斷。
若f[(a b)/2]gt0,則區(qū)間(a,(a b)/2),(a b)/2lt=b存在零點(diǎn),從開(kāi)始繼續(xù)使用中點(diǎn)函數(shù)值進(jìn)行判斷。
這樣就可以一直趨近于零。
通過(guò)將f(x)的零點(diǎn)所在的單元格一次縮小一半,使區(qū)間的兩個(gè)端點(diǎn)逐漸逼近函數(shù)的零點(diǎn),從而得到零點(diǎn)的近似值。這種方法叫做二分法。
從上面可以看出,每次運(yùn)算后,區(qū)間長(zhǎng)度減少一半,這就是線性收斂。另外二分法不能計(jì)算重根和重根。
二分法步驟
用二分法求方程根的近似值的步驟
1如果是,里面至少有一個(gè)根。
中點(diǎn)2的計(jì)算
3如果是根,停止計(jì)數(shù),
運(yùn)行后輸出結(jié)果。
如果有,里面至少有一個(gè)根。拿;
如果是,則取;
(4)如果(預(yù)先給定所需精度)退出計(jì)算,運(yùn)行后輸出結(jié)果,否則返回步驟1,重復(fù)步驟1、2、3。
二分法Mtalab程序
符號(hào)x
Fun=input(#039;(輸入函數(shù)形式)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)
%修改要求解的內(nèi)聯(lián)函數(shù)的函數(shù)體。
f=inline(fun) %修改要求解的內(nèi)聯(lián)函數(shù)的函數(shù)體。
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
結(jié)束
e=e/2 k=k 1
結(jié)束
x=(a b)/2
X%x就是答案。
K%k是次數(shù)。