第6章 Matlab 符號運算V2_第1頁
第6章 Matlab 符號運算V2_第2頁
第6章 Matlab 符號運算V2_第3頁
第6章 Matlab 符號運算V2_第4頁
第6章 Matlab 符號運算V2_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1數(shù)學(xué)軟件數(shù)學(xué)軟件 Matlab Matlab 符號運算符號運算2本講主要內(nèi)容本講主要內(nèi)容n Matlab 符號運算介紹符號運算介紹n 符號對象與基本符號運算符號對象與基本符號運算n findsym 和和 subsn 常見符號運算常見符號運算3符號運算符號運算l 計算以計算以推理方式推理方式進行,不受計算誤差累積所帶來的困擾進行,不受計算誤差累積所帶來的困擾 l 符號計算指令的調(diào)用比較簡單,與教科書上的公式相近符號計算指令的調(diào)用比較簡單,與教科書上的公式相近 l 符號計算可以給出完全正確的封閉解,或任意精度的數(shù)符號計算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時值解(封閉解不存

2、在時 )l 符號計算所需的符號計算所需的運行時間相對較長運行時間相對較長q 符號運算的特點符號運算的特點 4Matlab 符號運算符號運算l Matlab 符號運算是通過符號運算是通過符號數(shù)學(xué)工具箱符號數(shù)學(xué)工具箱(Symbolic Math Toolbox)來實現(xiàn)的。來實現(xiàn)的。 l Matlab 的符號數(shù)學(xué)工具箱可以完成幾乎所有得符號運的符號數(shù)學(xué)工具箱可以完成幾乎所有得符號運算功能,如:算功能,如:符號表達式的運算符號表達式的運算,符號矩陣的運算符號矩陣的運算,符號符號微積分微積分,符號作圖符號作圖,符號代數(shù)方程求解符號代數(shù)方程求解,符號微分方程求符號微分方程求解解等。等。l 此外,該工具箱還

3、支持此外,該工具箱還支持可變精度運算可變精度運算,即支持以指定的,即支持以指定的精度返回結(jié)果。精度返回結(jié)果。 q Matlab 符號運算符號運算 5符號運算舉例符號運算舉例l 求一元二次方程求一元二次方程 ax2 + bx + c = 0 的根的根 solve(a*x2+b*x+c=0)l 求的根求的根 f (x) = (cos x)2 的一次導(dǎo)數(shù)的一次導(dǎo)數(shù) x=sym(x); diff(cos(x)2)l 計算計算 f (x) = x2 在區(qū)間在區(qū)間 a, b 上的定積分上的定積分 syms a b x; int(x2,a,b)6l 符號對象符號對象:在進行符號運算時,必須先定義基本的在進行

4、符號運算時,必須先定義基本的符號對符號對象象,可以是符號常量、符號變量、符號表達式等,可以是符號常量、符號變量、符號表達式等 l 符號對象是一種數(shù)據(jù)結(jié)構(gòu)符號對象是一種數(shù)據(jù)結(jié)構(gòu) 符號對象符號對象l 符號表達式符號表達式:含有符號對象的表達式稱含有符號對象的表達式稱l 符號矩陣符號矩陣/數(shù)組數(shù)組:元素為符號表達式的矩陣:元素為符號表達式的矩陣/數(shù)組數(shù)組 7l sym 函數(shù)用來建立函數(shù)用來建立單個單個符號變量,一般調(diào)用格式為:符號變量,一般調(diào)用格式為:q 符號對象的符號對象的定義定義/聲明聲明:sym、syms符號對象符號對象的建立的建立例:例: a=sym(a) 符號變量符號變量 = sym(x)

5、參數(shù)參數(shù) x 可以是一個數(shù)或數(shù)值矩陣,也可以是字符串可以是一個數(shù)或數(shù)值矩陣,也可以是字符串a(chǎn) 是符號變量是符號變量b 是符號常量是符號常量 b=sym(1/3)C 是符號矩陣是符號矩陣 C=sym(1 ab; c d)8符號對象符號對象的建立的建立syms 符號變量符號變量1 符號變量符號變量2 . 符號變量符號變量n 例:例: syms a b c a=sym(a); b=sym(b); c=sym(c);q 符號對象的符號對象的定義定義/聲明聲明:sym、symsl syms 命令用來建立命令用來建立多個多個符號變量,一般調(diào)用格式為:符號變量,一般調(diào)用格式為:9例:例:l 建立符號表達式通

6、常有以下建立符號表達式通常有以下 2 種方法:種方法: (1) 用用 sym 函數(shù)直接建立符號表達式。函數(shù)直接建立符號表達式。 (2) 使用已經(jīng)定義的符號變量組成符號表達式。使用已經(jīng)定義的符號變量組成符號表達式。 y=sym(sin(x)+cos(x) x=sym(x); y=sin(x)+cos(x)符號符號表達式表達式 syms x; y=sin(x)+cos(x)q 符號表達式:符號表達式:含符號對象的表達式含符號對象的表達式10Matlab 符號運算采用的運算符和基本函數(shù),在形狀、名稱符號運算采用的運算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計算中的運算符和基本函數(shù)完全相同和使用上

7、,都與數(shù)值計算中的運算符和基本函數(shù)完全相同基本符號基本符號運算運算l 普通運算:普通運算:+ - * / l 數(shù)組運算:數(shù)組運算:.* . ./ .l 矩陣轉(zhuǎn)置:矩陣轉(zhuǎn)置: .例:例: X=sym(x11,x12;x21,x22;x31,x32); Y=sym(y11,y12,y13;y21,y22,y23); Z1=X*Y; Z2=X.*Y;q 基本運算符基本運算符11符號對象符號對象的的基本基本運算運算sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、exp、log、sqrt、log2、log10、abs、conj、real、ima

8、g、rank、det、inv、eig、diag、triu、tril、expm、三角函數(shù)與反三角函數(shù)、三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等指數(shù)函數(shù)、對數(shù)函數(shù)等q 基本函數(shù)基本函數(shù)12若表達式中有兩個符號變量與若表達式中有兩個符號變量與 x 的距離相等,的距離相等,則則ASCII 碼大者優(yōu)先。碼大者優(yōu)先。findsymfindsym(expr)按字母順序列出符號表達式按字母順序列出符號表達式 expr 中的所有符號變量中的所有符號變量findsym(expr, N)按順序列出按順序列出 expr 中離中離 x 最近的最近的 N 個符號變量個符號變量常量常量 pi, i, j 不作為符號變量不

9、作為符號變量q 查尋符號表達式中的符號變量查尋符號表達式中的符號變量13例:例: f=sym(2*w-3*y+z2+5*a) findsym(f) findsym(f,3) findsym(f,1)findsym 舉例舉例14subssubs(f,x,a) 用用 a 替換字符函數(shù)替換字符函數(shù) f 中的字符變量中的字符變量 x a 是可以是是可以是 數(shù)數(shù)/數(shù)值變量數(shù)值變量/表達式表達式 或或 字符變量字符變量/表達式表達式若若 x 是一個由多個字符變量組成的是一個由多個字符變量組成的數(shù)組或矩陣數(shù)組或矩陣,則則 a 應(yīng)該具有與應(yīng)該具有與 x 相同的形狀的相同的形狀的數(shù)組或矩陣數(shù)組或矩陣。q 符號替

10、換符號替換l 用給定的用給定的數(shù)據(jù)數(shù)據(jù)替換符號表達式中的替換符號表達式中的指定的符號變量指定的符號變量15subs 舉例舉例 f=sym(2*u); subs(f,u,2) f2=subs(f,u,u+2) a=3; subs(f2,u,a+2) subs(f2,u,a+2) syms x y f3=subs(f,u,x+y) subs(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6例:指出下面各條語句的輸出結(jié)果例:指出下面各條語句的輸出結(jié)果f=2*u16常見符號運算常見符號運算l 因式分解、展開、合并、簡化及通分等因

11、式分解、展開、合并、簡化及通分等l 計算極限計算極限l 計算導(dǎo)數(shù)計算導(dǎo)數(shù)l 計算積分計算積分l 代數(shù)方程代數(shù)方程l 微分方程求解微分方程求解17因式分解因式分解factor( f ) syms x; f=x6+1; factor( f )l factor 也可用于正整數(shù)的分解 s=factor(100) factor(sym(12345678901234567890)l 大整數(shù)的分解要轉(zhuǎn)化成符號常量大整數(shù)的分解要轉(zhuǎn)化成符號常量例:例:例:例:18函數(shù)展開函數(shù)展開expand( f ) syms x; f=(x+1)6; expand( f )l 多項式展開l 三角函數(shù)展開 syms x y;

12、f=sin(x+y); expand( f )19合并同類項合并同類項collect(f,v): 按指定變量按指定變量 v 進行進行合并合并collect( f ) : 按按默認默認變量變量進行進行合并合并 syms x y; f= x2*y + y*x - x2 + 2*x ; collect( f ) collect( f,y)例:例:20函數(shù)簡化函數(shù)簡化y=simple( f ): 對對 f 嘗試多種不同的算法嘗試多種不同的算法進行進行簡化簡化,返回其中最簡短的形式,返回其中最簡短的形式y(tǒng),How=simple( f ): y 為為 f 的的最簡短形式最簡短形式,How 中記錄的為簡化過

13、程中使用的方法。中記錄的為簡化過程中使用的方法。fyHOW2*cos(x)2-sin(x)2 3*cos(x)2-1 simplify(x+1)*x*(x-1)x3-xcombine(trig)x3+3*x2+3*x+1(x+1)3factorcos(3*acos(x)4*x3-3*xexpand21函數(shù)簡化函數(shù)簡化舉例舉例 syms x; f=(1/x3+6/x2+12/x+8)(1/3); g1=simple( f ) g2=simple(g1)多次使用多次使用 simple 可以達到最簡表達可以達到最簡表達3321612()8fxxxx 例:簡化例:簡化22分式通分分式通分q 通分通分N

14、,D=numden(f ): N 為通分后的分子,為通分后的分子,D 為通分后的分母為通分后的分母 syms x y; f=x/y+y/x; N,D=numden(f ) n,d=numden(sym(112/1024)例:例:23計算極限計算極限limit(f,x,a): 計算計算limit(f,a): 當當默認變量默認變量趨向于趨向于 a 時的極限時的極限limit(f ): 計算計算 a=0 時的極限時的極限limit(f,x,a,right): 計算右極限計算右極限limit(f,x,a,left): 計算左極限計算左極限lim( )xaf x例:計算例:計算 ,0ln()ln( )l

15、imhxhxLh 1limnnxMn syms x h n; L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)n,n,inf)24計算計算導(dǎo)數(shù)導(dǎo)數(shù)g=diff(f,v):求符號表達式求符號表達式 f 關(guān)于關(guān)于 v 的導(dǎo)數(shù)的導(dǎo)數(shù)g=diff(f ):求符號表達式求符號表達式 f 關(guān)于關(guān)于默認變量默認變量的導(dǎo)數(shù)的導(dǎo)數(shù)g=diff(f,v,n):求求 f 關(guān)于關(guān)于 v 的的 n 階導(dǎo)數(shù)階導(dǎo)數(shù)q 計算導(dǎo)數(shù):計算導(dǎo)數(shù): diff syms x; f=sin(x)+3*x2; g=diff(f,x)例:例:25計算計算積分積分int(f,v,a,b): 計算定積分

16、計算定積分int(f,a,b): 計算關(guān)于計算關(guān)于默認變量默認變量的定積分的定積分int(f,v): 計算不定積分計算不定積分int(f): 計算關(guān)于計算關(guān)于默認變量默認變量的不定積分的不定積分 syms x; f=(x2+1)/(x2-2*x+2)2; I=int(f,x) K=int(exp(-x2),x,0,inf)( )baf v dv ( )f v dv 例:計算例:計算 和和2221(22)xIdxxx 20 xKedx 26代數(shù)方程代數(shù)方程求解求解q 代數(shù)方程(非線性)求解:代數(shù)方程(非線性)求解: solves=solve(f,v) :求方程關(guān)于指定自變量的解求方程關(guān)于指定自變

17、量的解s=solve(f) :求方程關(guān)于求方程關(guān)于默認自變量默認自變量的解的解l f 可以是用字符串表示的可以是用字符串表示的方程方程,或符號,或符號表達式表達式l 若若 f 是字符串,可以不含等號,表示解方程是字符串,可以不含等號,表示解方程 f=0l 若若 f 是符號表達式,是符號表達式,不能不能 含等號含等號例:例:解方程解方程 x3-3*x+1=0 syms x; f=x3-3*x+1; s=solve(f,x) s=solve(x3-3*x+1,x) s=solve(x3-3*x+1=0,x)27代數(shù)方程代數(shù)方程求解求解l solve 也可以用來解方程組也可以用來解方程組solve(

18、 f1 , f2 , . , fN , v1 , v2 , . , vN)求解由求解由 f1 , f2 , . , fN 組成的方程組關(guān)于組成的方程組關(guān)于 v1 , v2 , . , vN 的解的解例:例:解方程組解方程組 x,y,z=solve(x+2*y-z=27,x+z=3, . x2+3*y2=28,x,y,z)22227 3 328xyzxzxy 輸出變量的順序要書寫正確!輸出變量的順序要書寫正確!solve 在得不到解析解時,會給出數(shù)值解在得不到解析解時,會給出數(shù)值解28微分方程微分方程求解求解q dsolve 的使用的使用y=dsolve(eq1,eq2, . ,cond1,co

19、nd2, . ,v)其中其中 y 為輸出的解,為輸出的解, eq1、eq2、. 為微分方程,為微分方程,cond1、cond2、. 為初值條件,為初值條件,v 為自變量。為自變量。例例 1:求微分方程求微分方程 的通解,并驗證。的通解,并驗證。22xdyxyxedx y=dsolve(Dy+2*x*y=x*exp(-x2),x) syms x; diff(y)+2*x*y - x*exp(-x2)29微分方程微分方程求解求解q 幾點說明幾點說明l 如果省略初值條件,則表示求通解;如果省略初值條件,則表示求通解;l 如果省略自變量,則默認自變量為如果省略自變量,則默認自變量為 t dsolve(

20、Dy=2*x,x); % dy/dx = 2xdsolve(Dy=2*x); % dy/dt = 2xl 若找不到解析解,則返回其積分形式。若找不到解析解,則返回其積分形式。l 微分方程中用微分方程中用 D 表示對表示對 自變量自變量 的導(dǎo)數(shù),如:的導(dǎo)數(shù),如:Dy y; D2y y; D3y y30微分方程微分方程求解求解例例 2:求微分方程求微分方程 在初值條件在初值條件 下的特解,并畫出解函數(shù)的圖形。下的特解,并畫出解函數(shù)的圖形。0 xxyye y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x) ezplot(y);12( )ye 31微分方程微分方程求解求解例例3:求微分方程組求微分方程組 在初值條件在初值條件 下的特解,并畫出解函數(shù)的圖形。下的特解,并畫出解函數(shù)的圖形。530tdxxyedtdyxydt x,y=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0, . x(0)=1, y(0)=0, t)0010|ttxy 注:解微分方程組時,如果所給的輸出個數(shù)與方程個數(shù)相同,注:解微分方程組時,如果所給的輸出個數(shù)與方程個數(shù)相同,則方程組的解則方程組的解按詞典順序按詞典順序輸出;如果只給一個輸出,則輸出輸出;如果只給一個輸出,則輸出的是一個包含解的的是一個包含解的結(jié)構(gòu)結(jié)構(gòu)(

溫馨提示

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

最新文檔

評論

0/150

提交評論