數學軟件實訓2-MATLAB程序綜合設計及應用
數學軟件實訓任務二
一 題目:MATLAB程序綜合設計及應用
二 目的:熟練掌握MATLAB程序設計的基本方法,會根據MATLAB程序設計的
三 要求:
1 熟練掌握控制流的基本語法結構。
2 會熟練應用for循環,while循環及分支語句if …else和switch…case等進行混合編程,處理實際問題。
四 實訓內容:
1 方程求根的二分法及程序設計
(1)方程求根的二分法的基本原理
取[a,b]的中點$\xi \displaystyle _{1}=\frac{a+b}{2}$,計算 $f(\xi _{1})$.
如果$f(\xi _{1})=0$;那麽$\xi=\xi_{1}$;
如果 $f(\xi _{1})$與$f(a)$同號,那麽取$a_{1}=\xi_{1}$,$b_{1}=b$,由$f(a_{1})*f(b_{1})<0$,即知$a_{1}<\xi <b_{1}$,且$b_{1}-a_{1}=\frac{b-a}{2}$;
如果$f(\xi _{1})$與$f(b)$同號,那麽取$a_{1}=a,b_{1}=\xi _{1}$,由$f(a_{1})*f(b_{1})<0$,即知$a_{1}<\xi <b_{1}$,且$b_{1}-a_{1}=\frac{b-a}{2}$;
總之,當$\xi \neq \xi_{1}$時,可求得$a_{1}<\xi<b_{1}$,且$b_{1}-a_{1}=\frac{b-a}{2}$.
以[a1,b1]作為新的隔離區間,重復上述做法,當$\xi\neq\xi_{2}=\frac{a_{1}+b_{1}}{2}$時,可求得
$a_{2}<\xi <b_{2}$,且$b_{2}-a_{2}=\frac{b-a}{2^{2}}$.
如此重復n次,可求得$a_{n}<\xi<b_{n} $,$b_{n}-a_{n}=\frac{b-a}{2^{n}}$.由此可知,如果以$a_{n}$或$b_{n}$作為$\xi$的近似值,那麽其誤差小於$\frac {b-a} {2^{n}}$.如圖14-23是二分法的原理示意圖.
圖 14-23 二分法原理示意圖
二分法的優點是對函數的要求低(只要求滿足零點定理的條件),方法簡便、可靠,程序設計容易,事先估計次數容易,收斂速度恒定。
(2)二分法程序設計
(3)繪出函數$f(x)=x^{3}+1.1x^{2}+0.9x-1.4$的圖像,找出根的隔離區間,然後用所編寫的二分法程序求方程$f(x)=x^{3}+1.1x^{2}+0.9x-1.4=0$實根的近似值,使誤差不超過$10^{-3}$.
數學軟件實訓2-MATLAB程序綜合設計及應用