MATLAB第九講符號運算(續)_第1頁
MATLAB第九講符號運算(續)_第2頁
MATLAB第九講符號運算(續)_第3頁
MATLAB第九講符號運算(續)_第4頁
MATLAB第九講符號運算(續)_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 在前面討論過求和函數sum,sum處理的級數是有窮級數。對于無窮級數求和,sum是無能無力的。求無窮級數的和需要使用符合表達式求和函數symsum。1. 級數的符號求和級數符號求和函數symsum,調用格式為:symsum(a,n,n0,nn)級 數 例1 求級數之和。(1) 常數項級數常數項級數n=sym(n);s1=symsum(1/n2,n,1,inf) %求s1s1 =pi2/6(2) s2=symsum(-1)(n+1)/n,1,inf) %求s2。未指定求和變量,缺省為ns2 = log(2)21116191411nsnsn1) 1(413121112(3) 函數項級數函數項級數

2、s3=symsum(n*xn,n,1,inf) %求s3。此處的求和變量n不能省略。s3 = piecewise(abs(x) A=1 2 1; 1 0 1; 1 3 0; b=2;3;8; x=linsolve(A,b)22338xyzxzxy b是列向量!是列向量!非線性方程的非線性方程的根根q Matlab 非線性方程的數值求解非線性方程的數值求解fzero(f,x0):求方程求方程 f=0 在在 x0 附近的根。附近的根。l 方程可能有多個根,但方程可能有多個根,但 fzero 只給出距離只給出距離 x0 最近的一個最近的一個l fzero 先找出一個包含先找出一個包含 x0 的區間,

3、使得的區間,使得 f 在這個區間在這個區間兩個端點上的函數值異號,然后再在這個區間內尋找方程兩個端點上的函數值異號,然后再在這個區間內尋找方程 f=0 的根;如果找不到這樣的區間,則返回的根;如果找不到這樣的區間,則返回 NaN。l x0 是一個標量,不能缺省是一個標量,不能缺省l 由于由于 fzero 是根據函數是否穿越橫軸來決定零點,因是根據函數是否穿越橫軸來決定零點,因此它無法確定函數曲線僅觸及橫軸但不穿越的零點,如此它無法確定函數曲線僅觸及橫軸但不穿越的零點,如 |sin(x)| 的所有零點。的所有零點。非線性方程的非線性方程的根根q fzero 的另外一種調用方式的另外一種調用方式f

4、zero(f,a,b)l 方程在方程在 a,b 內可能有多個根,但內可能有多個根,但 fzero 只給出一個只給出一個l 求方程求方程 f=0 在在 a,b 區間內區間內的根。的根。q 參數參數 f 可通過以下方式給出:可通過以下方式給出:l fzero(x3-3*x+1,2); l f=inline(x3-3*x+1); fzero(f,2)l fzero(x)x3-3*x+1,2);l f 不是方程!也不能使用符號表達式!不是方程!也不能使用符號表達式!例:例: fzero(sin(x),10) fzero(sin,10) fzero(x3-3*x+1,1) fzero(x3-3*x+1,

5、1,2) fzero(x3-3*x+1=0,1)X fzero(x3-3*x+1,-2,0) f=inline(x3-3*x+1); fzero(f,-2,0)Matlab 符號方程求解符號方程求解器器s=solve(f,v):求方程關于指定自變量的解;求方程關于指定自變量的解;s=solve(f):求方程關于求方程關于默認自變量默認自變量的解。的解。l f 可以是用字符串表示的可以是用字符串表示的方程方程,或符號,或符號表達式表達式;l 若若 f 中不含等號,則表示解方程中不含等號,則表示解方程 f=0。q solve例:解方程例:解方程 x3-3*x+1=0 syms x; f=x3-3*

6、x+1; s=solve(f,x) s=solve(x3-3*x+1,x) s=solve(x3-3*x+1=0,x)Matlab 符號方程求解符號方程求解器器q solve 也可以用來解方程組也可以用來解方程組solve( f1 , f2 , . , fN , v1 , v2 , . , vN)求解由求解由 f1 , f2 , . , fN 確定的方程組關于確定的方程組關于 v1 , v2 , . , vN 的解的解例:解方程組例:解方程組 x,y,z=solve(x+2*y-z=27,x+z=3, . x2+3*y2=28,x,y,z)222273 328 xyzxzxy 輸出變量的順序要

7、書寫正確!輸出變量的順序要書寫正確!solve 在得不到解析解時,會給出數在得不到解析解時,會給出數值解。值解。例:解方程組例:解方程組 x,y,z=solve(x+2*y-z=27,x+z=3, . x5+3*y2=28,x,y,z)522273 328 xyzxzxy 符號常微分方程求解在MATLAB 中,用大寫字母D表示導數。例如,Dy表示表示y,D2y表示表示y,Dy(0)=5表示表示y(0)=5。D3y+D2y+Dy-x+5=0表示微分方程表示微分方程y+y+y-x+5=0。 MATLAB的符號運算工具箱中提供了功能強大的求解常微分方程的函數dsolve。該函數的調用格式為:dsol

8、ve(eqn1,condition,var) 該函數求解微分方程eqn1在初值條件condition下的特解。參數var描述方程中的自變量符號,省略時按缺省原則處理,若沒有給出初值條件condition,則求方程的通解。微分方程(組)的數值解微分方程(組)的數值解 事實上,能夠求得解析解的微分方程或微分方程組少之又少,多數情況下需要求出微分方程(組)的數值解。 Matlab中求微分方程數值解的函數有五個:ode45,ode23,ode113,ode15s,ode23s。調用格式為t, x = solver (f, ts, x0, options) 需要特別注意的是: solver 可以取以上五

9、個函數之一,不同的函數代表不同的內部算法:ode23 運用組合的 2/3 階龍格庫塔費爾貝算法,ode45 運用組合的 4/5 階龍格庫塔費爾貝算法。通常使用通常使用函數函數 ode45; f 是由待解方程寫成的m文件的文件名; ts=t0, tf,t0、tf為自變量的初值和終值; x0為函數的初值; options 用于設定誤差限(可以缺省,缺省時設定為相對誤差 103,絕對誤差 106),程序為options = odeset(reltol, rt, abstol, at)其中rt和at分別為設定的相對誤差和絕對誤差; 在解 n 個未知函數的方程組時,x0、x 均為 n 維向量,m 文件中

10、待解方程組應以 x 的分量形式寫成; 使用 Matlab 軟件求數值解時,高階微分方程必須等價地變換成一階微分方程組。 例 8.5.4 求解下列微分方程0)0( ; 2)0(0)1 (1000222xxxdtdxxdtxd解:令 y1 = x,y2 = y1,則微分方程變為一階微分方程組: 0)0(, 2)0()1 (1000211221221yyyyyyyy (1) 建立 m 文件 vdp1000.m 如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1000*(1-y(1)2)*y(2)-y(1); (2) 取 t0

11、=0,tf=3000,輸入命令: T,Y=ode15s(vdp1000,0 3000,2 0); plot(T,Y(:,1),-)運行程序,得到如圖的結果。 例 8.5.5 求解下列微分方程組1)0(, 1)0(, 0)0(51. 0321213312321yyyyyyyyyyyy(1) 建立 m 文件 rigid.m 如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);(2) 取 t0=0,tf=12,輸入命令: T,Y=ode45(rigid,0 12,0 1 1); plot(T,Y(:,1),-,T,Y(:,2),*,T,Y(:,3),+) 運行程序,得到如圖的結果。圖中,y1 的圖形為實線,y2 的圖形為“*”線,y3 的圖形為“+”線。其它運算其它運算q 反函數反函數finverse(f,v):求求 f 關于指定變量關于指定變量 v 的反函數的反函數finverse(f):求求 f 關于默認變量的反函數關于默認變量的反函數 syms x t; f=x2+2*t; g1=finverse(f,x) g2=finvers

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論