官术网_书友最值得收藏!

2.2 非線性方程的圖解法

如果方程含有一個或兩個未知數(shù),則可以通過圖解法求解方程。如果未知數(shù)過多,則不適合使用圖解法,而應該嘗試其他方法。本節(jié)將介紹一元與二元方程的圖解方法,并分析總結圖解法的優(yōu)勢與劣勢。

2.2.1 光滑隱函數(shù)曲線的繪制

MATLAB提供了一般雙變量隱函數(shù)模型的繪制函數(shù)fimplicit(),正常情況下該函數(shù)的默認設置可以得出比較光滑的隱函數(shù)曲線,不過在一些特定的場合下,需要手工調(diào)節(jié)該函數(shù)的控制參數(shù),以獲得光滑的函數(shù)曲線。下面通過例子演示光滑隱函數(shù)曲線的繪制方法。


例2-8 試繪制隱函數(shù)y2cos(x+y2)+x2ex+y=0在(?2π,2π)求解的光滑曲線。

下面的函數(shù)可以直接繪制出該隱函數(shù)的曲線,如圖2-1所示。可以看出,該函數(shù)可以直接繪制出隱函數(shù)曲線,不過曲線的某些地方比較粗糙,例如曲線左上角與右下角區(qū)域出現(xiàn)不光滑的毛刺現(xiàn)象。

圖2-1 默認的隱函數(shù)曲線

隱函數(shù)曲線的光滑度受網(wǎng)格密度屬性'Meshdensity'直接影響,其默認值為151,如果發(fā)現(xiàn)得出的曲線不光滑,不妨將該值設置為大一些的值,如500,這時得出的隱函數(shù)曲線如圖2-2所示。可見,這樣得出的曲線光滑度是令人滿意的,即使作局部放大,曲線仍然是光滑的。

    >> fimplicit(f,[-p,p],'Meshdensity',500)

圖2-2 光滑的隱函數(shù)曲線

2.2.2 一元方程的圖解法


定義2-5 一元方程的一般數(shù)學形式為

對于任意的單變量方程f(x)=0,可以考慮將方程用符號表達式描述,然后調(diào)用fplot()函數(shù)繪制出方程的曲線,這樣,就可以用圖解方法求出方程曲線與橫軸的交點,這些交點就是方程的解。


例2-9 根式方程的解析求解是有諸多條件的,如果條件不滿足則無法解析求解。試用圖解方法求解下面的根式方程。

先用符號表達式表示方程的左端,則可以調(diào)用fplot()函數(shù),并疊印上橫軸,則可以得出如圖2-3所示的曲線。從得出的結果看,方程與橫軸只有一個交點,該交點就是方程的解。

圖2-3 一元方程的曲線與求解

如果想得到方程的解,則需要單擊圖形坐標軸工具欄中的圖標,對交點附近的區(qū)域作局部放大,用戶可以反復地使用放大功能,直至x的標度都大致一樣,這時,可以認為得到了方程的解。對這個具體的方程而言,通過局部放大得出方程的解為x=0.13809878,如圖2-4所示,代入方程則可以得出誤差為6.018×10?9

圖2-4 局部放大的結果與方程的解

例2-10 試求解下面的一元超越方程。

e?0.2xsin(3x+2)?cosx=0,x∈(0,20)

這個超越方程是沒有解析解的,必須用數(shù)值解的方法求解。圖解法是一種數(shù)值求解方法。前面的例子曾經(jīng)使用符號表達式來描述原始方程,這里采用匿名函數(shù)來描述方程,這兩種方法是等效的。由fplot()函數(shù)可以直接繪制出方程的曲線,并同時疊印出橫軸,如圖2-5所示。這樣,方程曲線與橫軸的交點都是方程的解。

圖2-5 超越方程的圖解法

可見,在給定的區(qū)間內(nèi),該方程曲線與實軸有6個交點,這些交點處的x都是方程的根。與前面的敘述一致,可以通過局部放大的方法逐一求出方程的根,不過求解過程還是很麻煩的。例如,可以求出方程的一個根為x=10.9601289577,代入方程可以得出誤差為?3.4739×10?11。后面將探討更好的方法。

2.2.3 二元方程的圖解法

二元方程聯(lián)立組的數(shù)學形式與定義在下面給出,本節(jié)將探討利用圖解的方式求解相應的二元聯(lián)立方程組,并指出圖解法存在的問題。


定義2-6 二元聯(lián)立方程的一般形式為

從給出方程的數(shù)學形式看,f(x,y)=0可以看成關于自變量xy的隱函數(shù)表達式,故使用fimplicit()函數(shù)即可以直接繪制該隱函數(shù)的曲線,而曲線上的所有點都滿足該方程。同樣,g(x,y)=0也是隱函數(shù)的數(shù)學表達式,由fimplicit()函數(shù)可以求解該方程。如果將這兩個函數(shù)在同一坐標系下繪制出來,得出的曲線交點則為聯(lián)立方程的解。


例2-11 試求解二元方程在?2π≤x,y≤2π區(qū)域內(nèi)的解。

要想求解聯(lián)立方程,可以聲明符號變量xy,然后將兩個方程用符號表達式分別表示出來,再調(diào)用fimplicit()就可以繪制出兩個方程的解曲線了,如圖2-6所示。圖中給出的每條曲線都滿足一個方程,而聯(lián)立方程的解為曲線的交點。可以看出,該方程在給定區(qū)域內(nèi)有很多解。由得出的圖形可見,隱函數(shù)曲線的光滑度不影響曲線交點的求解,所以可以按默認形式繪制曲線。

圖2-6 聯(lián)立方程圖解法示意圖

如果想得出某個具體交點的信息,則可以對該點作局部放大,大致地得出交點處的xy值,不過可以預計,這樣的解不會太精確,此外由于這個聯(lián)立方程存在太多交點,所以一個一個局部放大去求解的方式顯然不適用,應該考慮引入能一次性求出所有交點的全新方法。


例2-12 試用圖解法求解下面的聯(lián)立方程。

先用符號表達式表示這兩個方程,然后將這兩個隱函數(shù)繪制出來,得出的曲線如圖2-7所示。可見,圖中顯示這兩組曲線有兩個交點。能因此得出結論,說原方程有兩個根嗎?

如果將第二個表達式稍加變換,則x=?4y3?3y2+2,代入第一個方程,有

16y6+24y5+9y4?16y3?11y2?1=0

圖2-7 聯(lián)立方程圖解法示意圖

可見,這是一個關于y的六次多項式方程,很可能該方程有六個根,而不是圖2-7中所示的兩個根。為什么圖中只給出兩個根呢?因為原方程有兩個實根,其他四個根應該是兩對共軛復數(shù)根。在圖解法中只能表示出方程的實數(shù)根,而不能顯示、求取復數(shù)根。

2.2.4 方程的孤立解

觀察例2-11中給出的方程,不難發(fā)現(xiàn),將x=0,y=0這個點代入兩個方程,這兩個方程都是滿足的。如果從給出的曲線看,第一個方程的曲線似乎有意回避了這個點,而第二個方程也不經(jīng)過這個點。這個點不是由曲線其他點演化而來的,這樣的解稱為孤立解(isolated solution)。

目前沒有任何方法可以求取方程的孤立解,只能由用戶的經(jīng)驗觀察與判斷某些點是不是方程的孤立解。例如,通過觀察可見,x=0,y=0點是該方程的孤立解,代入原方程則可以驗證其正確性。

主站蜘蛛池模板: 舞钢市| 龙岩市| 高雄县| 石门县| 鸡东县| 安图县| 庄河市| 徐汇区| 花莲市| 宝丰县| 普兰县| 正阳县| 博乐市| 平罗县| 三穗县| 合山市| 天台县| 彰化市| 平塘县| 根河市| 子长县| 栾川县| 贡嘎县| 芜湖市| 昆明市| 广州市| 布拖县| 九江县| 怀集县| 澄城县| 桐乡市| 南康市| 汨罗市| 白水县| 南宫市| 大同县| 万荣县| 封丘县| 鄱阳县| 农安县| 突泉县|