国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2022-09-14 07:46楊柳玉宋東翔楊世玲
關(guān)鍵詞:先求實(shí)根二分法

楊柳玉 宋東翔 楊世玲

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

一、引言

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

二、二分法

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

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

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

(一)二分法的計(jì)算步驟

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

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

(1)輸入起點(diǎn)a,步長(zhǎng)h,方程f(x),誤差e

(2)計(jì)算b=a+h

(3)當(dāng)f(a)f(b) >0時(shí),做

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 程序和計(jì)算實(shí)例

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

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

當(dāng)精度控制量 e=0.001 時(shí),求出根的近似值。

解:

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

因?yàn)槎址ㄖ荒芮髥胃紫瓤梢运阉骱瘮?shù) 在f(x) =x3-x- 1 = 0 、在MATLAB 命令窗口輸入如下命令:

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

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

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

先建立ey.m

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

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

解:

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

取掃描起點(diǎn)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符號(hào)() ()+++++++-k k

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

用二分法求近似值,計(jì)算結(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 的符號(hào)---k () ()2

故當(dāng)k=3時(shí),,近似解取為x3=1.70625 。

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

先建立eff.m

五、結(jié)束語(yǔ)

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

猜你喜歡
先求實(shí)根二分法
“二分法”求解加速度的分析策略
解一元二次方程中的誤點(diǎn)例析
求油和壺的重量
基于深度學(xué)習(xí)的數(shù)學(xué)教學(xué)思考——以“用二分法求方程的近似解”為例
估算的妙招——“二分法”
實(shí)根分布問題“新”研究
燈籠填數(shù)
二次函數(shù)迭代的一個(gè)問題的探究
巧解周期數(shù)列
需要先求出半徑嗎?:2013年南京市中考第25題的另解
冷水江市| 措勤县| 新乡市| 苍溪县| 无为县| 太保市| 全椒县| 曲靖市| 凤山市| 太仆寺旗| 绵竹市| 达尔| 太仓市| 浮梁县| 弋阳县| 凤山县| 策勒县| 成安县| 灌云县| 阳原县| 大理市| 印江| 鸡泽县| 喀什市| 钟山县| 锡林郭勒盟| 乐平市| 察雅县| 吕梁市| 恩施市| 咸阳市| 绍兴市| 镇雄县| 鹿泉市| 淮北市| 乌审旗| 荣成市| 南澳县| 津市市| 奉新县| 扶余县|