• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    二分法解非線性方程的算法設(shè)計和Matlab程序

    2022-09-14 07:46:34楊柳玉宋東翔楊世玲
    德宏師范高等??茖W校學報 2022年2期
    關(guān)鍵詞:先求實根二分法

    楊柳玉 宋東翔 楊世玲

    (德宏師范高等??茖W校,德宏 678400)

    一、引言

    在科學研究和科學計算中常常碰到非線性方程求解問題。非線性方程的解一般不能解析求出。所以數(shù)值解法顯得非常重要,而數(shù)值解法在實際中的實現(xiàn)則更為重要,下面介紹二分法解非線性方程在Matlab 里的實現(xiàn)程序[1]。

    二、二分法

    二分法又稱對分區(qū)間法,是求f(x) = 0 根的一種簡單直觀方法。函數(shù)f(x) 在閉區(qū)間連續(xù),且f(a)f(b) < 0 則f(x)= 0在(a,b) 內(nèi)必有實根,此為微積分中的零點定理。然后取由零點定理確定f(x)= 0在[a,c]與[c,b]是否有實根,確定有根區(qū)間后取有根區(qū)間中點繼續(xù)重復做,可得近似根??梢娢⒎e分中的零點定理是使用二分法的前提[2]。

    設(shè)函數(shù)f(x)在區(qū)間[a,b]連續(xù),假定f(a) <0f(b) >0 取中點,檢查f(x0)的符號。若f(x0) =0,則x0就是一個根; 若f(x0) >0,記a為a1,x0為b1,則得有根區(qū)間[a1,b1];若f(x0) <0,記x0為a1,b為b1,則得有根區(qū)間[a1,b1]。后兩種情況都得到有根區(qū)間[a1,b1],它的長度為原區(qū)間的一半。對[a1,b1],令x0=a1+b1,再施以同樣的方法,可得新的有根區(qū)間[a2,b2],它的長度為[a1,b1]的一半,如此反復進行下去,其中每一個區(qū)間是前一區(qū)間的一半。有這就是方程的根。而即為方程的近似根,且有估計誤差[3][4]。

    三、二分法的算法設(shè)計

    (一)二分法的計算步驟

    1.求有根區(qū)間[a,b]。有兩種方法,下面會舉例列出。

    2.根的精確化。即已知一個根的近似值,逐步提高根的精度,直到滿足所要求的精度為止。

    (1)輸入起點a,步長h,方程f(x),誤差e

    (2)計算b=a+h

    (3)當f(a)f(b) >0時,做

    a=a+h

    b=a+h

    若f(a)f(x) <0 則 ;b=x

    若f(a)f(x)==0x=x;

    若f(a)f(x)>0a=x;

    (7)輸出x

    四、Matlab 程序和計算實例

    例1用二分法求非線性方程f(x)=x3-x- 1 =0在區(qū)間(1,2)內(nèi)的一個實根。

    分析:先求出有根區(qū)間(法一);

    當精度控制量 e=0.001 時,求出根的近似值。

    解:

    (1)先求出有根區(qū)間

    因為二分法只能求單根,首先可以搜索函數(shù) 在f(x) =x3-x- 1 = 0 、在MATLAB 命令窗口輸入如下命令:

    從圖一可以看出f(x)=x3-x- 1 =0在區(qū)間(1,2)內(nèi)有惟一的一個大于1.3 而小于1.4 的單根。

    圖一 在區(qū)間 上的圖像

    (2)Matlab 程序?qū)崿F(xiàn):

    先建立ey.m

    (3)最后在MATLAB 命令窗中輸入:

    例2:下面用二分法求非線性方程f(x)=x3- 5 =0的一個實根。

    解:

    (1)先求出有根區(qū)間(法二)

    取掃描起點a=1,h=0.1,尋找有根區(qū)間如下表所示:

    k 0 1 2 3 4 5 6 7 a 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 k b a h 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8= +kk f a f b符號() ()+++++++-k k

    故f(x)=x3- 5 =0在區(qū)間(1,2)內(nèi)的有根區(qū)間是[1.7,1.8]。

    用二分法求近似值,計算結(jié)果如下表所示:

    k 3 0 1 a 1.7 1.7 1.7 1.7 kb 1.8 1.75 1.725 1.7125 k 1.75 1.725 1.7125 1.70625 k a b x=kk +e 2 1 k 1 40 1 80 1 20 160 k f a f b 的符號---k () ()2

    故當k=3時,,近似解取為x3=1.70625 。

    (3)Matlab 程序?qū)崿F(xiàn):

    先建立eff.m

    五、結(jié)束語

    二分法是求非線性方程近似根的最簡單的方法,它的數(shù)學思想推行過程簡單易行,便于在計算機上實現(xiàn)。本文結(jié)合兩個非線性方程介紹了二分法解非線性方程的算法設(shè)計和Matlab程序。

    猜你喜歡
    先求實根二分法
    基于二進制/二分法的ETC狀態(tài)名單查找算法
    “二分法”求解加速度的分析策略
    “二分法”求解加速度的分析策略
    解一元二次方程中的誤點例析
    求油和壺的重量
    估算的妙招——“二分法”
    燈籠填數(shù)
    二次函數(shù)迭代的一個問題的探究
    巧解周期數(shù)列
    需要先求出半徑嗎?:2013年南京市中考第25題的另解
    竹北市| 白水县| 龙岩市| 句容市| 康定县| 化德县| 皮山县| 舞阳县| 中牟县| 清原| 黎城县| 海伦市| 禹州市| 嘉善县| 陆丰市| 高雄市| 吴桥县| 张家港市| 虞城县| 龙川县| 丰城市| 醴陵市| 乡城县| 曲靖市| 永胜县| 百色市| 海南省| 贵港市| 崇左市| 肇庆市| 禹城市| 界首市| 五常市| 家居| 乌鲁木齐县| 北川| 和田市| 盐亭县| 丹东市| 左贡县| 临海市|