第8章-MATLAB符號計(jì)算-《MATLAB程序設(shè)計(jì)教程(第二版)》_第1頁
第8章-MATLAB符號計(jì)算-《MATLAB程序設(shè)計(jì)教程(第二版)》_第2頁
第8章-MATLAB符號計(jì)算-《MATLAB程序設(shè)計(jì)教程(第二版)》_第3頁
第8章-MATLAB符號計(jì)算-《MATLAB程序設(shè)計(jì)教程(第二版)》_第4頁
第8章-MATLAB符號計(jì)算-《MATLAB程序設(shè)計(jì)教程(第二版)》_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章

MATLAB符號運(yùn)算

MATLAB符號對象

MATLAB符號微積分

MATLAB符號級數(shù)

MATLAB符號方程求解8.1符號對象8.1.1建立符號對象1.建立符號變量和符號常量MATLAB提供了兩個(gè)建立符號對象的函數(shù):sym和syms,兩個(gè)函數(shù)的用法不同。(1)sym函數(shù)sym函數(shù)用來建立單個(gè)符號量,一般調(diào)用格式為:符號量名=sym('符號字符串')該函數(shù)可以建立一個(gè)符號量,符號字符串可以是常量、變量、函數(shù)或表達(dá)式。應(yīng)用sym函數(shù)還可以定義符號常量,使用符號常量進(jìn)行代數(shù)運(yùn)算時(shí)和數(shù)值常量進(jìn)行的運(yùn)算不同。下面的命令用于比較符號常量與數(shù)值常量在代數(shù)運(yùn)算時(shí)的差別。

(2)syms函數(shù)函數(shù)sym一次只能定義一個(gè)符號變量,使用不方便。MATLAB提供了另一個(gè)函數(shù)syms,一次可以定義多個(gè)符號變量。syms函數(shù)的一般調(diào)用格式為:syms

符號變量名1符號變量名2…符號變量名n用這種格式定義符號變量時(shí)不要在變量名上加字符串分界符(‘),變量間用空格而不要用逗號分隔。2.建立符號表達(dá)式含有符號對象的表達(dá)式稱為符號表達(dá)式。建立符號表達(dá)式有以下3種方法:(1)利用單引號來生成符號表達(dá)式。(2)用sym函數(shù)建立符號表達(dá)式。(3)使用已經(jīng)定義的符號變量組成符號表達(dá)式。8.1.2符號表達(dá)式運(yùn)算1.符號表達(dá)式的四則運(yùn)算符號表達(dá)式的四則運(yùn)算與數(shù)值運(yùn)算一樣,用+、-、*、/、^運(yùn)算符實(shí)現(xiàn),其運(yùn)算結(jié)果依然是一個(gè)符號表達(dá)式。

2.符號表達(dá)式的提取分子和分母運(yùn)算如果符號表達(dá)式是一個(gè)有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達(dá)式中的分子或分母。其一般調(diào)用格式為:[n,d]=numden(s)該函數(shù)提取符號表達(dá)式s的分子和分母,分別將它們存放在n與d中。3.符號表達(dá)式的因式分解與展開MATLAB提供了符號表達(dá)式的因式分解與展開的函數(shù),函數(shù)的調(diào)用格式為:factor(s):對符號表達(dá)式s分解因式。expand(s):對符號表達(dá)式s進(jìn)行展開。collect(s):對符號表達(dá)式s合并同類項(xiàng)。collect(s,v):對符號表達(dá)式s按變量v合并同類項(xiàng)。4.符號表達(dá)式系數(shù)的提取如果符號表達(dá)式是一個(gè)多項(xiàng)式,可利用coeffs函數(shù)來提取符號表達(dá)式中的系數(shù)。其一般調(diào)用格式為c=coeffs(s[,x])該函數(shù)返回多項(xiàng)式中按指定變量升冪順序排列的系數(shù),若沒有指定變量,則返回所有項(xiàng)的常系數(shù),且按離字符“x”近原則確定主變量。5.符號表達(dá)式的化簡MATLAB提供的對符號表達(dá)式化簡的函數(shù)有:simplify(s):應(yīng)用函數(shù)規(guī)則對s進(jìn)行化簡。simple(s):調(diào)用MATLAB的其他函數(shù)對表達(dá)式進(jìn)行綜合化簡,并顯示化簡過程。6.符號表達(dá)式與數(shù)值表達(dá)式之間的轉(zhuǎn)換利用函數(shù)sym可以將數(shù)值表達(dá)式變換成它的符號表達(dá)式。函數(shù)numeric或eval可以將符號表達(dá)式變換成數(shù)值表達(dá)式。7.符號多項(xiàng)式與多項(xiàng)式系數(shù)向量之間的轉(zhuǎn)換利用函數(shù)sym2poly可以將符號多項(xiàng)式轉(zhuǎn)換為多項(xiàng)式系數(shù)向量,而函數(shù)poly2sym可以將多項(xiàng)式系數(shù)向量轉(zhuǎn)換為符號多項(xiàng)式。

8.1.3符號表達(dá)式中變量的確定MATLAB中的符號可以表示符號變量和符號常量。findsym可以幫助用戶查找一個(gè)符號表達(dá)式中的的符號變量。該函數(shù)的調(diào)用格式為:findsym(s,n)函數(shù)返回符號表達(dá)式s中的n個(gè)符號變量,若沒有指定n,則返回s中的全部符號變量。8.1.4符號矩陣符號矩陣也是一種符號表達(dá)式,所以前面介紹的符號表達(dá)式運(yùn)算都可以在矩陣意義下進(jìn)行。但應(yīng)注意這些函數(shù)作用于符號矩陣時(shí),是分別作用于矩陣的每一個(gè)元素。由于符號矩陣是一個(gè)矩陣,所以符號矩陣還能進(jìn)行有關(guān)矩陣的運(yùn)算。MATLAB還有一些專用于符號矩陣的函數(shù),這些函數(shù)作用于單個(gè)的數(shù)據(jù)無意義。例如transpose(s):返回s矩陣的轉(zhuǎn)置矩陣。determ(s):返回s矩陣的行列式值。其實(shí),曾介紹過的許多應(yīng)用于數(shù)值矩陣的函數(shù),如diag、triu、tril、inv、det、rank、eig等,也可直接應(yīng)用于符號矩陣。8.2符號微積分8.2.1符號極限limit函數(shù)的調(diào)用格式為:(1)limit(f,x,a):求符號函數(shù)f(x)的極限值。即計(jì)算當(dāng)變量x趨近于常數(shù)a時(shí),f(x)函數(shù)的極限值。(2)limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,則使用該格式時(shí),符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)自變量,即變量x趨近于a。(3)limit(f):求符號函數(shù)f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)變量;沒有指定變量的目標(biāo)值時(shí),系統(tǒng)默認(rèn)變量趨近于0,即a=0的情況。(4)limit(f,x,a,'right'):求符號函數(shù)f的極限值。'right'表示變量x從右邊趨近于a。(5)limit(f,x,a,‘left’):求符號函數(shù)f的極限值?!甽eft’表示變量x從左邊趨近于a。例8-1求下列極限。極限1:symsamx;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(tan(a))+1)/a極限2:symsxt;limit((1+2*t/x)^(3*x),x,inf)ans=exp(6*t)極限3:symsx;f=x*(sqrt(x^2+1)-x);limit(f,x,inf,'left')ans=1/2極限4:symsx;f=(sqrt(x)-sqrt(2)-sqrt(x-2))/sqrt(x*x-4);limit(f,x,2,'right')ans=-1/28.2.2符號導(dǎo)數(shù)diff函數(shù)用于對符號表達(dá)式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)用格式為:diff(s):沒有指定變量和導(dǎo)數(shù)階數(shù),則系統(tǒng)按findsym函數(shù)指示的默認(rèn)變量對符號表達(dá)式s求一階導(dǎo)數(shù)。diff(s,'v'):以v為自變量,對符號表達(dá)式s求一階導(dǎo)數(shù)。diff(s,n):按findsym函數(shù)指示的默認(rèn)變量對符號表達(dá)式s求n階導(dǎo)數(shù),n為正整數(shù)。diff(s,'v',n):以v為自變量,對符號表達(dá)式s求n階導(dǎo)數(shù)。例8-2求下列函數(shù)的導(dǎo)數(shù)。8.2.3符號積分符號積分由函數(shù)int來實(shí)現(xiàn)。該函數(shù)的一般調(diào)用格式為:int(s):沒有指定積分變量和積分階數(shù)時(shí),系統(tǒng)按findsym函數(shù)指示的默認(rèn)變量對被積函數(shù)或符號表達(dá)式s求不定積分。int(s,v):以v為自變量,對被積函數(shù)或符號表達(dá)式s求不定積分。int(s,v,a,b):求定積分運(yùn)算。a,b分別表示定積分的下限和上限。該函數(shù)求被積函數(shù)在區(qū)間[a,b]上的定積分。a和b可以是兩個(gè)具體的數(shù),也可以是一個(gè)符號表達(dá)式,還可以是無窮(inf)。當(dāng)函數(shù)f關(guān)于變量x在閉區(qū)間[a,b]上可積時(shí),函數(shù)返回一個(gè)定積分結(jié)果。當(dāng)a,b中有一個(gè)是inf時(shí),函數(shù)返回一個(gè)廣義積分。當(dāng)a,b中有一個(gè)符號表達(dá)式時(shí),函數(shù)返回一個(gè)符號函數(shù)。例8-3求下列積分。8.3級數(shù)8.3.1級數(shù)符號求和求無窮級數(shù)的和需要符號表達(dá)式求和函數(shù)symsum,其調(diào)用格式為:symsum(s,v,n,m)其中s表示一個(gè)級數(shù)的通項(xiàng),是一個(gè)符號表達(dá)式。v是求和變量,v省略時(shí)使用系統(tǒng)的默認(rèn)變量。n和m是求和的開始項(xiàng)和末項(xiàng)。例8-7求下列級數(shù)之和。8.3.2函數(shù)的泰勒級數(shù)MATLAB提供了taylor函數(shù)將函數(shù)展開為冪級數(shù),其調(diào)用格式為:taylor(f,v,n,a)該函數(shù)將函數(shù)f按變量v展開為泰勒級數(shù),展開到第n項(xiàng)(即變量v的n-1次冪)為止,n的缺省值為6。v的缺省值與diff函數(shù)相同。參數(shù)a指定將函數(shù)f在自變量v=a處展開,a的缺省值是0。例8-8求函數(shù)在指定點(diǎn)的泰勒級數(shù)展開式。8.4符號方程求解8.4.1符號代數(shù)方程求解在MATLAB中,求解用符號表達(dá)式表示的代數(shù)方程可由函數(shù)solve實(shí)現(xiàn),其調(diào)用格式為:solve(s):求解符號表達(dá)式s的代數(shù)方程,求解變量為默認(rèn)變量。solve(s,v):求解符號表達(dá)式s的代數(shù)方程,求解變量為v。solve(s1,s2,…,sn,v1,v2,…,vn):求解符號表達(dá)式s1,s2,…,sn組成的代數(shù)方程組,求解變量分別v1,v2,…,vn。例8-9解下列方程。8.4.2符號常微分方程求解在MATLAB中,用大寫字母D表示導(dǎo)數(shù)。例如,Dy表示y',D2y表示y'',Dy(0)=5表示y'(0)=5。D3y+D2y+Dy-x+5=0表示微分方程y'''+y''+y'-x+5=0。符號常微分方程求解可以通過函數(shù)dsolve來實(shí)現(xiàn),其調(diào)用格式為:dsolve(e,c,v)該函數(shù)求解常微分方

溫馨提示

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

最新文檔

評論

0/150

提交評論