• 
    

    
    

      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題的另解
      泽库县| 长葛市| 沂源县| 安福县| 正镶白旗| 湄潭县| 应城市| 金寨县| 时尚| 商丘市| 五台县| 常宁市| 寿阳县| 阿图什市| 吉木萨尔县| 鄂州市| 阿合奇县| 永善县| 平遥县| 西安市| 江川县| 安龙县| 特克斯县| 淮南市| 泾川县| 侯马市| 望江县| 确山县| 齐齐哈尔市| 延边| 宜州市| 芦溪县| 西贡区| 安化县| 宁陕县| 嵩明县| 孟连| 奉新县| 扶余县| 庐江县| 樟树市|