?? ch8_2.htm
字號:
<html>
<head>
<title> 非線性方程式的實根 </title>
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body BACKGROUND="../img1/bg0000.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/bg0000.gif">
<script language="JAVASCRIPT">
<!--
if (navigator.onLine){
document.write("<!-- Spidersoft WebZIP Ad Banner Insert -->");
document.write("<TABLE width=100% border=0 cellpadding=0 cellspacing=0>");
document.write("<TR>");
document.write("<TD>");
document.write("<ILAYER id=ad1 visibility=hidden height=60></ILAYER>");
document.write("<NOLAYER>");
document.write("<IFRAME SRC='http://www.spidersoft.com/ads/bwz468_60.htm' width=100% height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></IFRAME>");
document.write("</NOLAYER>");
document.write("</TD>");
document.write("</TR>");
document.write("</TABLE>");
document.write("<!-- End of Spidersoft WebZIP Ad Banner Insert-->");
}
//-->
</script>
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<h1><font SIZE="6" COLOR="#0000FF">8.2 非線性方程式的實根 </font></h1>
<hr>
<p>如果求根的方程式不為多項式的形態(tài) 就不能用 <font COLOR="#FF0000">roots</font>
函數(shù)。而這類的方策’h半是非線性方程式,
其函數(shù)形態(tài)變化很大。對于解這類方程式的根,可以用 <font COLOR="#FF0000">fzero</font>函數(shù),它其實是用來找一函數(shù) <i>f</i>(<i>x</i>) 的
<i>x</i> 值代入時,會使該函數(shù)值為零 (<i>f</i>(<i>x</i>)=0);而這也就是根的特性,因此我們可以用
<font COLOR="#FF0000">fzero</font>求根。 <br>
</p>
<p>要求任一方程式的根有三步驟:
<ol>
<li>先定義方程式。要注意必須將方程式安排成 <i>f</i>(<i>x</i>)=0
的形態(tài),例如一方程式為sin(<i>x</i>)=3, 則該方程式應(yīng)表示為 <a NAME="work"><i>f</i>(<i>x</i>)=sin(<i>x</i>)-3。可以 m-file 定義方程式。</a> </li>
<li>代入適當(dāng)范圍的 <i>x</i>, <i>y</i>(<i>x</i>)
值,將該函數(shù)的分布圖畫出,藉以了解該方程式的「長相」。 </li>
<li>由圖中決定<i>y</i>(<i>x</i>)在何處附近(x0)與 x 軸相交,以<font COLOR="#FF0000">fzero</font>的語法<font COLOR="#FF0000">fzero('function',x0) </font>即可求出在
<font COLOR="#FF0000">x0</font>附近的根,其中 <font COLOR="#FF0000">function </font>是先前已定義的函數(shù)名稱。如果從函數(shù)分布圖看出根不只一
個,則須再代入另一個在根附近的 <font COLOR="#FF0000">x0</font>,再求出下一個根。
</li>
</ol>
<p>以下分別介紹幾數(shù)個方程式,來說明如何求解它們的根。<br>
</p>
<p>例一、方程式為 </p>
<p>sin(<i>x</i>)=0 </p>
<p>我們知道上式的根有 <img SRC="../img8/img00002.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img8/img00002.gif" WIDTH="85" HEIGHT="22">,求根方式如下: </p>
<p><font COLOR="#FF0000">>> r=fzero('sin',3) % 因為sin(x)是內(nèi)建函數(shù),其名稱為sin,因此無須定義它</font>
</p>
<p><font COLOR="#FF0000">r = % 選擇 x=3 附近求根</font> </p>
<p><font COLOR="#FF0000">3.1416</font> </p>
<p><font COLOR="#FF0000">>> r=fzero('sin',6) % 選擇 x=6 附近求根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">6.2832<br>
</font></p>
<p>例二、方程式為先前提到的 MATLAB 內(nèi)建函數(shù) <font COLOR="#FF0000">humps</font>,我們不須要知道這個方程式的形態(tài)為何,不過我們可以將它劃出來,再找出根的位置。求根方式
如下: </p>
<p><font COLOR="#FF0000">>> x=linspace(-2,3);</font> </p>
<p><font COLOR="#FF0000">>> y=humps(x);</font> </p>
<p><font COLOR="#FF0000">>> plot(x,y), grid % 由圖中可看出在0和1附近有二個根</font>
</p>
<p><font COLOR="#FF0000">>> r=fzero('humps',1.2)</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">1.2995<br>
</font></p>
<p>例三、方程式為 </p>
<p><img SRC="../img8/img00003.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img8/img00003.gif" WIDTH="102" HEIGHT="23"> </p>
<p>這個方程式其實是個多項式,我們說明除了用 <font COLOR="#FF0000">roots</font>
函數(shù)找出它的根外,也可以用這節(jié)介紹的方法求根,注意二者的解法及結(jié)果有所不同。求根方式如下:
</p>
<p><font COLOR="#FF0000">% m-function, f_1.m</font> </p>
<p><font COLOR="#FF0000">function y=f_1(x) % 定義 f_1.m 函數(shù)</font> </p>
<p><font COLOR="#FF0000">y=x.^3-2*x-5;<br>
</font></p>
<p><font COLOR="#FF0000">>> x=linspace(-2,3);</font> </p>
<p><font COLOR="#FF0000">>> y=f_1(x);</font> </p>
<p><font COLOR="#FF0000">>> plot(x,y), grid % 由圖中可看出在2和-1附近有二個根</font>
</p>
<p><font COLOR="#FF0000">>> r=fzero('f_1',2); % 決定在2附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">2.0946</font> </p>
<p><font COLOR="#FF0000">>> p=[1 0 -2 -5]</font> </p>
<p><font COLOR="#FF0000">>> r=roots(p) % 以求解多項式根方式驗證</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">2.0946</font> </p>
<p><font COLOR="#FF0000">-1.0473 + 1.1359i</font> </p>
<p><font COLOR="#FF0000">-1.0473 - 1.1359i <br>
</font></p>
<p>例四、方程式為 </p>
<p><img SRC="../img8/img00004.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img8/img00004.gif" WIDTH="148" HEIGHT="26"> </p>
<p>求根方式如下: </p>
<p><font COLOR="#FF0000">% m-function, f_2.m</font> </p>
<p><font COLOR="#FF0000">function y=f_2(x) % 定義 f_2.m 函數(shù)</font> </p>
<p><font COLOR="#FF0000">y=x.^2.*sin(x)+cos(x); <br>
</font></p>
<p><font COLOR="#FF0000">>> x=linspace(-3,3);</font> </p>
<p><font COLOR="#FF0000">>> y=f_2(x);</font> </p>
<p><font COLOR="#FF0000">>> plot(x,y), grid % 由圖中可看出在-1和3附近有二個根</font>
</p>
<p><font COLOR="#FF0000">>> r=fzero('f_2',-1); % 決定在-1附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">-0.8952</font> </p>
<p><font COLOR="#FF0000">>> r=fzero('f_2',3); % 決定在3附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">3.0333<br>
</font></p>
<p>例五、方程式為 </p>
<p><img SRC="../img8/img00005.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img8/img00005.gif" WIDTH="154" HEIGHT="26"> </p>
<p>求根方式如下: </p>
<p><font COLOR="#FF0000">% m-function, f_3.m</font> </p>
<p><font COLOR="#FF0000">function y=f_3(x) % 定義 f_3.m 函數(shù)</font> </p>
<p><font COLOR="#FF0000">y=2*exp(-x).*sin(2*pi*x)-0.5; <br>
</font></p>
<p><font COLOR="#FF0000">>> x=0:0.1:2; y=f_3(x);</font> </p>
<p><font COLOR="#FF0000">>> plot(x,y), grid % 由圖中可看出在0,0.5和1附近有三個根</font>
</p>
<p><font COLOR="#FF0000">>> r=fzero('f_3',0) % 決定在0附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">0.0420</font> </p>
<p><font COLOR="#FF0000">>> r=fzero('f_3',0.5) % 決定在0.5附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">0.4368</font> </p>
<p><font COLOR="#FF0000">>> r=fzero('f_3',1) % 決定在1附近的根</font> </p>
<p><font COLOR="#FF0000">r =</font> </p>
<p><font COLOR="#FF0000">1.1435</font> </p>
<hr>
<p><a HREF="ch8_1.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch8_1.htm"><img SRC="../img1/lastpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/lastpage.gif" BORDER="0" WIDTH="42" HEIGHT="42"></a> <a HREF="../chpater9/ch9.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch9.htm"><img SRC="../img1/nextpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/nextpage.gif" BORDER="0" HSPACE="10" WIDTH="42" HEIGHT="42"></a> <a HREF="../index.html" tppabs="http://webclass.ncu.edu.tw/~junwu/index.html"><img SRC="../img1/outline.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/outline.gif" BORDER="0" HSPACE="6" WIDTH="42" HEIGHT="42"></a> <br>
<font SIZE="2" COLOR="#FF00FF">上一頁 下一頁 講義大綱 </font><layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility="hidden" id="a1" width="600" onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer> </p>
</body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -