第9講MATLAB符號計算_第1頁
第9講MATLAB符號計算_第2頁
第9講MATLAB符號計算_第3頁
第9講MATLAB符號計算_第4頁
第9講MATLAB符號計算_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第9章 MATLAB符號計算9.1 符號對象9.2 符號微積分9.3 級 數(shù)9.4 符號方程求解19.1 符號對象9.1.1 建立符號對象1建立符號變量和符號常量 MATLAB提供了兩個建立符號對象的函數(shù):sym和syms,兩個函數(shù)的用法不同。(1) sym函數(shù) sym函數(shù)用來建立單個符號量,一般調(diào)用格式為:符號量名=sym(符號字符串) 該函數(shù)可以建立一個符號量,符號字符串可以是常量、變量、函數(shù)或表達式。 例如, a=sym(a),用戶可以使用變量a進行各種運算.2 應(yīng)用sym函數(shù)還可以定義符號常量,使用符號常量進行代數(shù)運算時和數(shù)值常量進行的運算不同。下面的命令用于比較符號常量與數(shù)值常量在代

2、數(shù)運算時的差別。 pi1=sym(pi);k1=sym(8); pi2=pi;k2=8; sin(pi1/3) ans = 1/2*3(1/2) sin(pi2/3) ans = sqrt(k1) sqrt(k2) 0.8660 ( 2*2(1/2) 2.8284 )3(2) syms函數(shù) 函數(shù)sym一次只能定義一個符號變量,使用不方便。MATLAB提供了另一個函數(shù) syms,一次可以定義多個符號變量。syms函數(shù)的一般調(diào)用格式為: syms 符號變量名1 符號變量名2 符號變量名n 用這種格式定義符號變量時不要在變量名上加字符串分界符(),變量間用空格而不要用逗號分隔。42建立符號表達式 含

3、有符號對象的表達式稱為符號表達式。建立符號表達式有以下3種方法:(1)利用單引號來生成符號表達式。如:y=1/sqrt(2*x) (2)用sym函數(shù)建立符號表達式。如:U=sym(3*x2-5*y+2*x*y+6 )(3) 使用已經(jīng)定義的符號變量組成符號表達式。如:syms x y; V=3*x2-5*y+2*x*y+659.1.2 符號表達式運算1符號表達式的四則運算 符號表達式的加、減、乘、除運算可分別由函數(shù)symadd、symsub、symmul和symdiv來實現(xiàn),冪運算可以由sympow來實現(xiàn)。如, f=2*x2+3*x-5 ; g=x2-x+7 ; symadd(f,g) ans=

4、 3*x2+2*x+2 symmul(f,g) ans= (2*x2+3*x-5) *(x2-x+7)62符號表達式的提取分子和分母運算 如果符號表達式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達式中的分子或分母。其一般調(diào)用格式為:n,d=numden(s) 該函數(shù)提取符號表達式s的分子和分母,分別將它們存放在n與d中。 (numerator, denominator)73符號表達式的因式分解與展開 MATLAB提供了符號表達式的因式分解與展開的函數(shù),函數(shù)的調(diào)用格式為:factor(s):對符號表達式s分解因式。expand(s):對符號表達式s進行展開。colle

5、ct(s):對符號表達式s合并同類項。collect(s,v):對符號表達式s按變量v合并同類項。84符號表達式的化簡 MATLAB提供的對符號表達式化簡的函數(shù)有:simplify(s):應(yīng)用函數(shù)規(guī)則對s進行化簡。simple(s):調(diào)用MATLAB的其他函數(shù)對表達 式進行綜合化簡,并顯示化簡過程。95符號表達式與數(shù)值表達式之間的轉(zhuǎn)換 利用函數(shù)sym可以將數(shù)值表達式變換成它的符號表達式。如, sym(3.14) ans= 157/50 函數(shù)numeric或eval可以將符號表達式變換成數(shù)值表達式。如, numeric(1+sqrt(5)/2) ans= 1.6180109.1.3 符號表達式中

6、變量的確定 MATLAB中的符號可以表示符號變量和符號常量。findsym可以幫助用戶查找一個符號表達式中的的符號變量。該函數(shù)的調(diào)用格式為:findsym(s,n) 函數(shù)返回符號表達式s中的n個符號變量,若沒有指定n,則返回s中的全部符號變量。119.1.4 符號矩陣 符號矩陣也是一種符號表達式,所以前面介紹的符號表達式運算都可以在矩陣意義下進行。但應(yīng)注意這些函數(shù)作用于符號矩陣時,是分別作用于矩陣的每一個元素。 由于符號矩陣是一個矩陣,所以符號矩陣還能進行有關(guān)矩陣的運算。MATLAB還有一些專用于符號矩陣的函數(shù),這些函數(shù)作用于單個的數(shù)據(jù)無意義。例如transpose(s): 返回s矩陣的轉(zhuǎn)置矩

7、陣。determ(s):返回s矩陣的行列式值。其實,曾介紹過的許多應(yīng)用于數(shù)值矩陣的函數(shù),如diag、triu、tril、inv、det、rank、eig等,也可直接應(yīng)用于符號矩陣。129.2 符號微積分9.2.1 符號極限limit函數(shù)的調(diào)用格式為:(1) limit(f,x,a):求符號函數(shù)f(x)的極限值。即計算當變量x趨近于常數(shù)a時,f(x)函數(shù)的極限值。(2) limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,使用該格式時,符號函數(shù)f(x)的變量為函數(shù)findsym(f) 確定的默認自變量,即變量x趨近于a。13(3) limit(f):求符號函數(shù)

8、f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認變量;沒有指定變量的目標值時,系統(tǒng)默認變量趨近于0,即a=0的情況。(4) limit(f,x,a,right):求符號函數(shù)f的極限值。right表示變量x從右邊趨近于a。(5) limit(f,x,a,left):求符號函數(shù)f的極限值。left表示變量x從左邊趨近于a。14例9-1 求下列極限:(1) (2)(1) syms a m x; f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/(x+a); limit(f,x,a) ans = (1/2*a*exp(sin(a)+1/2*a-exp

9、(tan(a)+1)/a(2) syms x t; limit(1+2*t/x)(3*x),x,inf) ans = exp(6*t)15(3) (4)(3) syms x; f=x*(sqrt(x2+1)-x); limit(f,x,inf,left) ans = 1/2(4) syms x; f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x-4); limit(f,x,2,right) ans = -1/2169.2.2 符號導(dǎo)數(shù) diff函數(shù)用于對符號表達式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)用格式為:diff(s):沒有指定變量和導(dǎo)數(shù)階數(shù),則系統(tǒng)按findsym函數(shù)指示的默

10、認變量對符號表達式s求一階導(dǎo)數(shù)。diff(s,v):以v為自變量,對符號表達式s求一階導(dǎo)數(shù)。diff(s,n):按findsym函數(shù)指示的默認變量對符號表達式s求n階導(dǎo)數(shù),n為正整數(shù)。diff(s,v,n):以v為自變量,對符號表達式s求n階導(dǎo)數(shù)。17例9-2 求下列函數(shù)的導(dǎo)數(shù)。(1) y= ,求y (2) y= ,求y ,y (3) ,求y ,y (4) z= ,求zx ,zy syms a b t x y z; f1=sqrt(1+exp(x);diff(f1) %求(1) f2=x*cos(x);diff(f2,x,2) %求(2)中y diff(f2,x,3) %求(2)中y g1=a

11、*cos(t); g2=b*sin(t); diff(g1)/ diff(g2) %求(3)中y , 下行求y (diff(g1)*diff(g2,2)- diff(g1,2)*diff(g2)/ (diff(g1)3 f4=x*exp(y)/y2; diff(f4,x) %求(4)diff(f4,y) %求(4)189.2.3 符號積分符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調(diào)用格式為:int(s):沒有指定積分變量和積分階數(shù)時,系統(tǒng)按 findsym函數(shù)指示的默認變量對被積函數(shù)或符 號表達式s求不定積分。int(s,v):以v為自變量,對被積函數(shù)或符號表達式s求 不定積分。int(s,v,

12、a,b):求定積分運算。a,b分別表示定積分的下限和上限。該函數(shù)求被積函數(shù)在區(qū)間a,b上的定積分。a和b可以是兩個具體的數(shù),也可以是一個符號表達式,還可以是無窮(inf)。當函數(shù)f關(guān)于變量x在閉區(qū)間a,b上可積時,函數(shù)返回一個定積分結(jié)果。當a,b中有一個是inf時,函數(shù)返回一個廣義積分。當a,b中有一個符號表達式時,函數(shù)返回一個符號函數(shù)。19例9-3 求下列積分。 (2) (4)命令如下: x=sym(x);t=sym(t); int(abs(1-x),1,2) %求(1) 1/2 f=1/(1+x2); int(f,-inf,inf) %求(2) pi f=x3/(x-1)10; I=int

13、(f,2,3) %求(3) 138535/129024 int(4*x/t,t,2,sin(x) %求(4) 4*log(sin(x)*x-4*log(2)*x209.2.4 積分變換 常見的積分變換有傅立葉變換、拉普拉斯變換和Z變換。1傅立葉(Fourier)變換傅立葉變換:逆變換: 在MATLAB中,進行傅立葉變換的函數(shù)是:fourier(f,x,t): 求函數(shù)f(x)的傅立葉像函數(shù)F(t)。ifourier(F,t,x):求傅立葉像函數(shù)F(t)的原函數(shù) f(x)。212拉普拉斯(Laplace)變換拉普拉斯變換:逆變換:在MATLAB中,進行拉普拉斯變換的函數(shù)是:laplace(fx,x

14、,t): 求函數(shù)f(x)的拉普拉斯像函數(shù) F(t)。ilaplace(Fw,t,x):求拉普拉斯像函數(shù)F(t)的原 函數(shù)f(x)。223Z變換當函數(shù)f(x)呈現(xiàn)為一個離散的數(shù)列f(n)時,對數(shù)列f(n)進行z變換:逆變換:對數(shù)列f(n)進行z變換的MATLAB函數(shù)是:ztrans(fn,n,z):求f(n)的Z變換像函數(shù)F(z)。iztrans(Fz,z,n):求F(z)的z變換原函數(shù)f(n)。239.3 級 數(shù)9.3.1 級數(shù)符號求和求無窮級數(shù)的和需要符號表達式求和函數(shù)symsum,其調(diào)用格式為:symsum(s,v,n,m)其中s表示一個級數(shù)的通項,是一個符號表達式。v是求和變量,v省略時

15、使用系統(tǒng)的默認變量。n和m是求和的開始項和末項。例9-4 求下列級數(shù)之和。(1) (2)249.3.2 函數(shù)的泰勒級數(shù) MATLAB提供了taylor函數(shù)將函數(shù)展開為冪級數(shù),其調(diào)用格式為:taylor(f,v,n,a) 該函數(shù)將函數(shù)f按變量v展開為泰勒級數(shù),展開到第n項(即變量v的n-1次冪)為止,n的缺省值為6。v的缺省值與diff函數(shù)相同。參數(shù)a指定將函數(shù)f在自變量v=a處展開,a的缺省值是0。259.4 符號方程求解9.4.1 符號代數(shù)方程求解 在MATLAB中,求解用符號表達式表示的代數(shù)方程可由函數(shù)solve實現(xiàn),其調(diào)用格式為:solve(s):求解符號表達式s的代數(shù)方程,求解 變量為

16、默認變量。solve(s,v):求解符號表達式s的代數(shù)方程,求 解變量為v。solve(s1,s2,sn,v1,v2,vn): 求解符號表達式s1,s2,sn組成的代數(shù)方程組,求解變量分別v1,v2,vn。26例9-5 解下列方程和方程組。(1) (2)(3)命令如下: x=solve(2*sin(3*x-pi/4)=1) %解方程(1) x=solve(x+x*exp(x)-10, x) %解方程(2) x y=solve(x+y-8, x(1/3)+y(1/3)-2, x,y) %解方程組(3)279.4.2 符號常微分方程求解 在MATLAB中,用大寫字母D表示導(dǎo)數(shù)。例如,Dy表示y,D2y表示y,Dy(0)=5表示y(0)=5。D3y+

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論