第11章MATLAB71符號計算_第1頁
第11章MATLAB71符號計算_第2頁
第11章MATLAB71符號計算_第3頁
第11章MATLAB71符號計算_第4頁
第11章MATLAB71符號計算_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版第11章 符號計算l與一般的數(shù)值計算不同,符號計算是對字符串符號進(jìn)行分析和運(yùn)算,為了便于理解,讀者可以將符號計算看作“由計算機(jī)實現(xiàn)的數(shù)學(xué)公式推導(dǎo)”。進(jìn)行符號計算時,matlab負(fù)責(zé)將計算請求提交給其內(nèi)置的maple組件并返回maple的計算結(jié)果。matlab的符號計算歷經(jīng)多次的改進(jìn)和完善,其功能已經(jīng)非常強(qiáng)大,尤其是在大規(guī)模的簡單公式推導(dǎo)、邏輯推導(dǎo)等應(yīng)用中有重要應(yīng)用。本章介紹的內(nèi)容如下。l符合對象的創(chuàng)建 符號函數(shù)l符號對象的復(fù)合和化簡 符號對象的運(yùn)算l符號矩陣l符號微積分l符號方程求解技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.1 符號類

2、型與數(shù)值類型l符號對象(symbolic objet)是matlab符號工具箱中定義的一種新的數(shù)據(jù)類型。與一般的簡單數(shù)值類型(如logical、int、float、double等)不同,符號對象是一種保存了符號字符串表示的復(fù)雜數(shù)據(jù)結(jié)構(gòu)。本節(jié)主要討論符號類型與普通數(shù)值類型的差別。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.2 符號對象及其創(chuàng)建lmatlab符號工具箱定義的數(shù)據(jù)類型符號對象(symbolic object),是一種存儲了符號字符串表示的復(fù)雜數(shù)據(jù)結(jié)構(gòu)。matlab利用符號對象表示符號變量、符號表達(dá)式、符號函數(shù)、符號矩陣,本節(jié)介紹符號變量、符號表達(dá)式的創(chuàng)建,至于符號函數(shù)和符號

3、矩陣,將分別在11.3、11.5節(jié)進(jìn)行詳細(xì)介紹。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.2.1 創(chuàng)建符號變量lsym函數(shù)可用于創(chuàng)建符號常量和變量,其調(diào)用格式為:lsym_variable = sym(sym_expression)l該指令創(chuàng)建符號變量(或常量)sym_variable,其中sym_expression為符號變量的字符串表示。如果sym_expression為常數(shù)(例如pi、1、2.01等),則函數(shù)返回符號常量;如果sym_expression是符合命名規(guī)則的字符串(即該字符串只能包含數(shù)字、英文字母和下畫線,且不能以數(shù)字開頭),則函數(shù)返回符號變量。技術(shù)凝聚實力技術(shù)凝

4、聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.2.2 創(chuàng)建符號表達(dá)式l符號表達(dá)式是符號變量或常量的組合,也可以將符號變量和符號常量認(rèn)為是符號表達(dá)式。符號表達(dá)式的創(chuàng)建,依然使用函數(shù)sym,其調(diào)用格式為:lsym_variable = sym(sym_expression)l這里的輸入字符串參數(shù)sym_expression與11.2.1中有所不同,它是由多個子字符串通過數(shù)值運(yùn)算符組合而成的,每個子字符串或者是符合命名規(guī)則的字符串或者是數(shù)值常量。也可以事先利用sym或syms創(chuàng)建符號變量和常量,然后通過數(shù)值運(yùn)算符、支持符號計算的函數(shù)等將這些符號變量或常量組合起來構(gòu)成符號表達(dá)式。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新

5、出版專業(yè)創(chuàng)新出版11.2.3 符號對象與數(shù)值的轉(zhuǎn)換lmatlab符號計算工具箱提供如下三類運(yùn)算操作:lnumberic,即matlab浮點運(yùn)算;lrational,即maple符號運(yùn)算;lvpa,即maple精度可變運(yùn)算。l浮點運(yùn)算是三者中運(yùn)算速度最快、內(nèi)存使用最少的一種,但其結(jié)果的精度也較低,format可以控制輸出結(jié)果的位數(shù),但其內(nèi)部表示仍然是8字節(jié)浮點表示,也就是說format不能改變結(jié)果的精度。符號運(yùn)算的結(jié)果是精確、無近似的,但運(yùn)算速度慢、消耗內(nèi)存最多。vpa是浮點運(yùn)算與符號運(yùn)算的折中,用戶可以通過函數(shù)digits控制計算結(jié)果的精度,默認(rèn)情況下digits = 32。技術(shù)凝聚實力技術(shù)凝

6、聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.3 符號函數(shù)l顯而易見,符號函數(shù)與通常的數(shù)值函數(shù)有很大的不同。本節(jié)從matlab中符號函數(shù)的創(chuàng)建開始,分別介紹了符號函數(shù)的復(fù)合、反函數(shù)等內(nèi)容,然后給出了一些在理論和實際中具有重要應(yīng)用的符號函數(shù)。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.3.1 創(chuàng)建符號函數(shù)l可以通過下面兩種方法創(chuàng)建符號函數(shù):l符號表達(dá)式;lm文件。l利用符號表達(dá)式創(chuàng)建符號函數(shù)的方法在例11.4中已經(jīng)介紹,這種方法適合于創(chuàng)建一些比較簡單的函數(shù),對于比較復(fù)雜的符號函數(shù)的創(chuàng)建,應(yīng)該利用m文件。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.3.2 復(fù)合函數(shù)l已知函數(shù)、,復(fù)合函數(shù)定

7、義為。matlab符號計算工具箱提供函數(shù)compose用于符號函數(shù)復(fù)合,其調(diào)用格式為:lcompose(f,g)lcompose(f,g,z)lcompose(f,g,x,z)lcompose(f,g,x,y,z)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.3.3 反函數(shù)lmatlab符號工具箱的函數(shù)finverse用于計算函數(shù)的反函數(shù),其調(diào)用格式為:lg = finverse(f)lg = finverse(f,v)l其中f為符號表達(dá)式,該函數(shù)求f關(guān)于v的反函數(shù),如果未指定v,那么v = findsym(f)。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.3.4 特殊符號函

8、數(shù)lmatlab符號工具箱對一些重要的數(shù)學(xué)函數(shù)提供了支持,技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.4 符號表達(dá)式的復(fù)合和化簡l符號表達(dá)式的顯示、展開、分解、化簡等是符號運(yùn)算的重要內(nèi)容,matlab符號工具箱對這些內(nèi)容提供了強(qiáng)大的支持。本節(jié)將詳細(xì)介紹matlab符號工具相中符號表達(dá)式的顯示、展開、分解、替換、化簡等操作。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.4.1 顯示符號表達(dá)式lmatlab顯示符號表達(dá)式時,默認(rèn)的方式是matlab式的顯示,例如在matlab命令窗口輸入以下代碼。l f = a*x2 + b*x + cl運(yùn)行結(jié)果如下。lf =la*x2+b*x+

9、c技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.4.2 展開、分解及化簡符號表達(dá)式l對數(shù)學(xué)表達(dá)式的展開、分解、化簡是學(xué)習(xí)數(shù)學(xué)和應(yīng)用數(shù)學(xué)中經(jīng)常要做的工作,matlab符號工具箱這些工作提供了強(qiáng)大的支持,下面列出了一些相關(guān)的函數(shù)及其使用方法。l函數(shù)collect用于同類項合并,其調(diào)用格式為:lcollect(f, s)lcollect(f)lcollect(f, s)將符號表達(dá)式f看作符號變量s的多項式(如果未指定s,則默認(rèn)s為findsym(f, 1)),對具有相同階數(shù)的項進(jìn)行合并。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.4.3 符號表達(dá)式替換l符號表達(dá)式的替換有兩種,一是

10、利用符號變量或符號表達(dá)式替換目標(biāo)符號表達(dá)式中的符號變量(包括符號常量),利用函數(shù)subs實現(xiàn);二是用符號變量替代目標(biāo)符號表達(dá)式中的某個子符號表達(dá)式,利用函數(shù)subexpr實現(xiàn)。函數(shù)subs的一般調(diào)用格式為:lr = subs(s) lr = subs(s, new)lr = subs(s,old,new)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5 符號矩陣l符號矩陣是數(shù)值矩陣的擴(kuò)展,符號矩陣的每個元素為符號表達(dá)式。與數(shù)值矩陣一樣,符號矩陣也有代數(shù)運(yùn)算、邏輯運(yùn)算等;還可以求符號矩陣的奇異值,對符號進(jìn)行奇異值分解。對于符號方陣,可以求行列式、特征值;符號方陣可逆時,還可以求符號方陣的

11、逆。本節(jié)涉及的許多符號矩陣運(yùn)算與數(shù)值矩陣相同,讀者在學(xué)習(xí)本節(jié)內(nèi)容時可以參考第7章。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.1 創(chuàng)建符號矩陣lmatlab符號工具箱中沒有提供專門用于創(chuàng)建符號矩陣的函數(shù),用戶可以通過以下三種方式創(chuàng)建符號矩陣:l直接輸入符號矩陣的各個元素符號表達(dá)式;l利用sym函數(shù)將數(shù)值矩陣轉(zhuǎn)化為符號矩陣,這種方法只能創(chuàng)建符號常量矩陣;l簡單符號矩陣的組合創(chuàng)建復(fù)雜符號矩陣。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.2 符號矩陣的代數(shù)運(yùn)算l同數(shù)值矩陣一樣,符號矩陣也能進(jìn)行加、減、乘、除四則運(yùn)算,并且具有與數(shù)值矩陣幾乎相同的運(yùn)算規(guī)則,只是矩陣元素由數(shù)值

12、變成了符號表達(dá)式。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.3 符號矩陣的邏輯運(yùn)算lmatlab符號工具箱對符號的邏輯運(yùn)算支持很有限,僅支持=和=。l符號的邏輯運(yùn)算。 l運(yùn)行結(jié)果如下。l? function gt is not defined for values of class sym.lerror in = gt at 16lbuiltin(gt, varargin:);技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.4 符號矩陣的行列式l符號矩陣的行列式與數(shù)值矩陣的行列式具有相同的定義,只是符號矩陣的行列式為符號函數(shù)。同樣,行列式僅對符號方陣才有意義。lmat

13、lab利用同名函數(shù)det計算符號矩陣的行列式,該函數(shù)在符號工具箱中被重載。l符號矩陣的行列式。l矩陣 被稱為單位旋轉(zhuǎn)矩陣,試求該矩陣的行列式。 sincoscossinxxxx技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.5 符號矩陣的逆l對階符號方陣,滿足的符號方陣稱為的逆,記為。其中為單位符號方陣,對角線上元素為符號常量,其余為0。lmatlab符號工具箱提供同名函數(shù)inv用于計算符號方陣的逆,這里的inv在符號工具箱中被重載。下面是符號矩陣求逆應(yīng)用的例子。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.6 符號矩陣的秩l符號矩陣秩的含義與數(shù)值矩陣相似,對符號矩陣,取

14、其任意行列得到的階子式, 的秩定義為使“至少有一個階子式的行列式不為0”的最大,即所有的階子式行列式為0,且至少有一個階子式行列式不為0。lmatlab提供同名函數(shù)rank計算符號矩陣的秩,這里的rank在符號工具箱中被重載。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.7 符號矩陣的特征分解l特征值反映了符號矩陣的一些重要的性質(zhì),對符號矩陣特征值的分析在信號處理、自動控制中有重要的應(yīng)用。符號方陣的特征值是滿足的,其中為單位符號矩陣。由于即為a的特征多項式,所以的特征值即為特征多項式的根。回憶第10章中利用函數(shù)poly求數(shù)值矩陣的特征多項式,事實上,在符號工具箱中該函數(shù)被重載,利用

15、poly(a)可以得到符號方陣的特征多項式,對特征多項式求根:lsolve(poly(a)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.5.8 符號矩陣的svd分解l關(guān)于符號矩陣svd分解的相關(guān)概念,可以參考第7章數(shù)值矩陣svd分解,這里不再贅述。需要強(qiáng)調(diào)的是,matlab符號工具箱僅支持常量符號矩陣(元素為符號常量的符號矩陣)的svd分解,這其中的原因可能是對一般的符號矩陣來說,svd分解過于復(fù)雜而變得不可用。lmatlab中利用同名函數(shù)svd對符號矩陣進(jìn)行svd分解,其一般的調(diào)用格式為:lu,s,v = svd(a)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.6 符號微積

16、分l第7章已經(jīng)介紹了數(shù)值微積分,數(shù)值微積分的適用范圍廣泛,但對問題的描述一般是近似的,而符號微積分可能得到問題的精確描述,因此在條件允許的情況下利用符號微積分解決理論和實際問題是一個很好的選擇。本節(jié)內(nèi)容包括符號的極限、微分、積分、taylor級數(shù)以及級數(shù)求和等內(nèi)容。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.6.1 極限l極限是當(dāng)變量無限接近特定值時函數(shù)的值,例如,一元函數(shù)的導(dǎo)數(shù)的定義為下面的極限:。matlab符號工具箱利用函數(shù)limit計算符號極限,技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.6.2 微分技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.6.3 積分l函數(shù)積分是微分的反運(yùn)算,對符號函數(shù),的積分是使的,用 表示。同diff相似,如果為多變量符號表達(dá)式,用戶應(yīng)該指定對某個自變量求積分,即f = int(f, v);如果未指定,則v設(shè)定為由函數(shù)fingsym(f, 1)決定的默認(rèn)符號變量。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11.6.4 taylor展開技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版11

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論