版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第六章符號計算主要內(nèi)容6.1符號對象的創(chuàng)建6.2符號對象的代數(shù)運算6.3符號微積分6.4符號方程求解6.5積分變換6.6Maple的應(yīng)用6.1符號對象的創(chuàng)建
符號計算工具箱定義了一種新的Matlab數(shù)據(jù)類型,叫做符號對象。在Matlab內(nèi)部,符號對象的數(shù)據(jù)存儲格式是符號字符串。Matlab用sym函數(shù)創(chuàng)建符號對象,包括符號常量、符號變量和符號表達(dá)式。
【調(diào)用格式】f=sym(arg) 把數(shù)值、字符串或者表達(dá)式arg轉(zhuǎn)換為符號對象fsymsargv1argv2... 定義argv1、argv2等為符號對象f=sym(argn,flagn)把數(shù)值或者數(shù)值表達(dá)式argn轉(zhuǎn)換為flag格式的符號對象一、符號對象的生成
6.1符號對象的創(chuàng)建【調(diào)用格式】f=sym(‘a(chǎn)rgv’,flagv) 把字符串‘a(chǎn)rgv’按照flagv的格式轉(zhuǎn)換為符號對象symsargv1argv2... 定義argv1、argv2等為符號對象symsarg1arg2...Flagv定義arg1、arg2等為flagv格式的符號對象【說明】對于數(shù)值或者數(shù)值表達(dá)式argn,flagn可以取以下值:
'd‘最接近的十進制浮點精度表示
'e' 帶估計誤差的有理表示
'f' 十六進制浮點數(shù)表示
'r' 最接近的有理表示,MATLAB的缺省表示方法6.1符號對象的創(chuàng)建對于字符串變量名argv,flagv可以取以下“限定”項:
'positive' “正實數(shù)”符號變量
'real' “實數(shù)”符號變量
'unreal' “非實數(shù)”符號變量
syms是sym函數(shù)的簡化書寫方式,各符號對象之間只能用空格分開。二、符號常量
用sym函數(shù)可以定義符號常量對象,包括符號標(biāo)量對象和符號常量數(shù)組對象,定義符號常量對象的同時也可以指定數(shù)值常量的表示方法。例6.1.1符號常量的定義6.1符號對象的創(chuàng)建三、符號變量與符號表達(dá)式
1.定義符號變量和符號表達(dá)式例6.1.2符號變量和符號表達(dá)式的定例6.1.3符號變量與符號矩陣
2.符號表達(dá)式中自變量的確定在數(shù)學(xué)表達(dá)式或者數(shù)學(xué)函數(shù)中,一般都含有自變量。為了便于進行數(shù)學(xué)運算,通常要顯示的指定表達(dá)式中的自變量,如果不指定自變量,MATLAB會根據(jù)上下文關(guān)系,識別表達(dá)式中默認(rèn)的自變量(獨立自由的符號變量)。識別表達(dá)式中自變量的基本原則是:按照字母表中靠近小寫字母x的順序識別,最靠近字母x的變量被第一個識別為自變量。MATLAB還提供了自變量識別函數(shù)findsym。6.1符號對象的創(chuàng)建【調(diào)用格式】findsym(exp) 識別表達(dá)式exp中所有的自由符號變量findsym(exp,n)識別表達(dá)式exp中最靠近x的N個獨立自由變量
【說明】表達(dá)式可以是符號矩陣,此時變量識別是對整個矩陣進行的。函數(shù)識別的是“獨立的”“自由的”符號變量,符號常量或者非獨立的符號變量無法被識別。識別次序是按照靠近x的遠(yuǎn)近進行的,區(qū)分大小寫,總認(rèn)為大寫字母距離x的距離大于所有小寫字母。例6.1.4符號表達(dá)式中自變量的識別6.1符號對象的創(chuàng)建四、符號數(shù)學(xué)函數(shù)
在MATLAB中,可以定義表示數(shù)學(xué)函數(shù)的符號對象,既能建立具有詳細(xì)運算關(guān)系的函數(shù),又能建立抽象數(shù)學(xué)函數(shù)。定義符號數(shù)學(xué)函數(shù)有2種方法:1.用符號表達(dá)式2.用函數(shù)M文件(在函數(shù)M文件中用符號變量作為輸入變量)例6.1.5用符號表達(dá)式定義符號數(shù)學(xué)函數(shù)例6.1.6用函數(shù)M文件來定義符號數(shù)學(xué)函數(shù)例6.1.7建立抽象的符號數(shù)學(xué)函數(shù)6.1符號對象的創(chuàng)建五、符號數(shù)值計算的精度數(shù)值計算受計算機字長的限制,每次數(shù)值計算都會產(chǎn)生截斷誤差。在MATLAB中,數(shù)值計算的精度大約為16位數(shù)字。對于符號計算來說,只要能獲得解析結(jié)果,其計算結(jié)果是絕對準(zhǔn)確的,不包含任何誤差。但是當(dāng)將符號數(shù)值對象轉(zhuǎn)換成數(shù)值數(shù)據(jù)時,就會產(chǎn)生誤差,涉及到轉(zhuǎn)換精度問題。MATLAB的符號計算工具箱提供3種算術(shù)運算:數(shù)值運算(16位數(shù)字精度)符號運算(絕對準(zhǔn)確)任意精度運算(用戶指定運算精度)6.1符號對象的創(chuàng)建n=digits 取當(dāng)前采用的數(shù)值計算精度digits(n)設(shè)置數(shù)值計算精度的有效位為n,除非再次設(shè)定,否則始終有效xs=vpa(x) 在當(dāng)前精度下,給出變量x的數(shù)值符號結(jié)果xsxs=vpa(x,n) 在n位精度下,給出變量x的數(shù)值符號結(jié)果xs
有關(guān)符號運算精度的函數(shù)及其調(diào)用方法如下:【調(diào)用格式】【說明】x可以是符號常量,也可以是數(shù)值對象。返回值xs是符號結(jié)果,一定是符號對象。相對精度位數(shù)n表示有效數(shù)字位數(shù)。例6.1.8符號數(shù)值計算精度6.1符號對象的創(chuàng)建六、符號對象與其他數(shù)據(jù)類型之間的轉(zhuǎn)換函數(shù)名稱功能函數(shù)名稱功能char將符號對象轉(zhuǎn)換為字符串uint32將符號對象轉(zhuǎn)換為32位無符號整數(shù)double將符號對象轉(zhuǎn)換為雙精度數(shù)值uint64將符號對象轉(zhuǎn)換為64位無符號整數(shù)int8將符號對象轉(zhuǎn)換為8位整數(shù)single將符號對象轉(zhuǎn)換為單精度數(shù)值int16將符號對象轉(zhuǎn)換為16位整數(shù)sym2poly將符號多項式轉(zhuǎn)換為數(shù)值系數(shù)向量int32將符號對象轉(zhuǎn)換為32位整數(shù)poly2sym多項式系數(shù)向量轉(zhuǎn)換為符號多項式int64將符號對象轉(zhuǎn)換為64位整數(shù)vpa轉(zhuǎn)換為符號運算結(jié)果uint8將符號對象轉(zhuǎn)換為8位無符號整數(shù)sym轉(zhuǎn)為為符號對象uint16將符號對象轉(zhuǎn)換為16位無符號整數(shù)pretty轉(zhuǎn)換為易讀的顯示方式表6.1.1符號對象和其他數(shù)據(jù)類型之間的轉(zhuǎn)換指令表例6.1.9多項式和符號對象之間的轉(zhuǎn)換6.2符號對象的代數(shù)運算一、符號對象的運算
1.符號對象的基本代數(shù)運算符號對象的基本代數(shù)運算和普通數(shù)值變量一樣,可以使用算術(shù)運算符、關(guān)系運算符(僅能使用==和~!),其運算符的定義和數(shù)值運算相同。例6.2.1
符號矩陣的基本代數(shù)運算2.符號對象的函數(shù)運算
數(shù)值計算使用的函數(shù)基本上也可以用于符號計算,包括三角函數(shù)(atan2除外)、指數(shù)函數(shù)、對數(shù)函數(shù)(log2、log10除外)、復(fù)數(shù)函數(shù)(angle除外)、線性代數(shù)函數(shù)和矩陣函數(shù)。例6.2.2符號矩陣的函數(shù)運算6.2符號對象的代數(shù)運算二、符號表達(dá)式分解、展開與化簡
MATLAB提供了符號表達(dá)式的因式分解、展開和化簡函數(shù)?!菊{(diào)用格式】collect(expr,v)合并符號表達(dá)式expr中符號對象v的同類項系數(shù)expand(expr)對表達(dá)式expr進行多項式、三角函數(shù)、指數(shù)對數(shù)等函數(shù)展開factor(expr) 對符號表達(dá)式expr做因式分解horner(expr) 把多項式expr分解為嵌套形式[n,d]=numden(expr) 提取表達(dá)式最小分母公因子d和相應(yīng)的分子多項式nsimplify(expr)用多種恒定變換對表達(dá)式expr進行綜合化簡simple(expr) 把expr化簡為最簡表達(dá)式6.2符號對象的代數(shù)運算例6.2.3符號表達(dá)式的展開和分解【說明】
上述表達(dá)式expr可以是符號矩陣,此時函數(shù)對符號矩陣的每個元素進行相應(yīng)操作。例6.2.4寫出矩陣各元素的分子多項式和分母多項式。例6.2.5化簡6.2符號對象的代數(shù)運算三、符號表達(dá)式的置換操作MATLAB提供了子表達(dá)式的置換函數(shù)。通常在這幾種情況下使用子表達(dá)式的置換函數(shù):第一,符號計算結(jié)果中多次出現(xiàn)同一個表達(dá)式,為了閱讀方便,可以把這個表達(dá)式用符號變量來置換;第二,可以用符號常量對象置換表達(dá)式中的自變量,實現(xiàn)表達(dá)式求值;第三,通過置換某些表達(dá)式可以生成新的表達(dá)式。1.自動置換函數(shù)【調(diào)用格式】[RS,vn]=subexpr(S,vn)用符號變量vn置換S中的子表達(dá)式,并重寫S為RS。[RS,vn]=subexpr(S,'vn') 6.2符號對象的代數(shù)運算例6.2.6對一元三次方程的符號解進行子表達(dá)式的置換。2.通用置換函數(shù)【調(diào)用格式】RS=subs(S,old,new) 用new置換S中old,生成RS【說明】old是被替換的子表達(dá)式,可以是符號變量,也可以是字符串表達(dá)式。
new是替換old的值,可以是符號常量、符號變量、符號表達(dá)式,也可以是數(shù)值。如果要替換多個子表達(dá)式,則old和new為細(xì)胞數(shù)組。例6.2.7通用置換函數(shù)。6.2符號對象的代數(shù)運算四、符號函數(shù)的反函數(shù)【調(diào)用格式】g=finverse(f,v)求指定自變量為v的函數(shù)f(v)的反函數(shù)g(v)g=finverse(f)求函數(shù)f對缺省的自變量(由findsym確定)的反函數(shù)g例6.2.8求的反函數(shù)。五、符號函數(shù)的復(fù)合函數(shù)
fg=compose(f,g)
對和求復(fù)合函數(shù)【調(diào)用格式】fg=compose(f,g,x,y,z)對和求復(fù)合函數(shù)自變量由findsym確定例6.2.9求復(fù)合函數(shù)。6.3符號微積分一、符號微分和雅可比矩陣求導(dǎo)數(shù)、高階導(dǎo)數(shù)、偏導(dǎo)數(shù)是常見的數(shù)學(xué)運算,MATLAB提供這方面的符號微分函數(shù)?!菊{(diào)用格式】df=diff(f,v,n)R=jacobian(f,v)求多元向量函數(shù)的雅可比矩陣,即求
,即求函數(shù)對的n階導(dǎo)數(shù)例6.3.1,求、和例6.3.2,求其雅可比矩陣6.3符號微積分函數(shù)的極限是通過導(dǎo)數(shù)來定義的,limit函數(shù)用于求函數(shù)極限?!菊{(diào)用格式】limit(F,x,a) 求
二、函數(shù)極限limit(F,x,a,'right') 求limit(F,x,a,'left')求例6.3.3求極限運算。6.3符號微積分
三、符號積分int函數(shù)用于求定積分、不定積分和多重積分的符號解。S=int(f,v)求不定積分,符號計算結(jié)果不帶積分常數(shù)S=int(f,v,a,b) 求定積分rsums(f,ra,rb) 用Riemann和求符號函數(shù)在[ra,rb]區(qū)間上的近似積分
【調(diào)用格式】【說明】當(dāng)f為矩陣時,將對矩陣的每個元素做積分運算。v缺省時,積分對findsym確認(rèn)的變量進行。積分上下限a和b可以是任何數(shù)值和表達(dá)式。rsums函數(shù)繪制求積分的曲線,根據(jù)用戶的選擇來確定最終的近似積分值6.3符號微積分例6.3.4計算例6.3.5
求多重積分四、符號序列求和【調(diào)用格式】s=symsum(f,v,a,b) 求,a和b為整數(shù),b可以取無窮大例6.3.6計算和
6.4符號方程求解一、符號代數(shù)方程組的解代數(shù)方程包括線性、非線性和超越方程等,solve函數(shù)用于符號代數(shù)方程求解?!菊{(diào)用格式】g=solve('eq1','eq2',...,'eqn','var1','var2',...,'varn')g=solve(exp1,exp2,...,expn,var1,var2,...,varn)【說明】1.'eq1','eq2',...,'eqn'是字符串表達(dá)式的方程,或者是字符串表達(dá)式,如果它們是不含等號的字符串表達(dá)式,則相當(dāng)于方程'eqi=0'2.'var1','var2',...,'varn'是用字符串表示的方程中的變量名.6.4符號方程求解exp1,exp2,...,expn只能是符號表達(dá)式,不能是帶有等號的表達(dá)式方程。var1,var2,...,varn只能是符號變量。返回值g是一個結(jié)構(gòu)體數(shù)據(jù),解用g.var1,g.var2,...,g.varn表示。在無法求得解析解的時候,給出數(shù)值解?!菊f明】例6.4.1方程組,分別求其關(guān)于y,z和關(guān)于u,v,w的解例6.4.2求方程組的解6.4符號方程求解二、符號微分方程
【調(diào)用格式】g=dsolve('eq1','eq2',...,'eqn','cond1','cond2',...,'condn','v')【說明】‘eq1’,‘eq2’,...,‘eqn’是微分方程,只能用字符串形式。微分方程是函數(shù)必須的輸入變量?!甤ond1’,‘cond2’,...,‘condn’是初始條件,也只能用字符串形式?!畍’定義了微分方程的獨立變量名(微分方程解中的自變量名),只能用字符串形式。默認(rèn)的獨立變量名為t。微分方程字符串中,Dny表示y的n階導(dǎo)數(shù),Dy表示y的一階導(dǎo)數(shù)。返回值g是一個結(jié)構(gòu)體變量,要引用其成員才能得到方程的解。6.4符號方程求解例6.4.3求微分方程組的解例6.4.4求微分方程的解初始條件為例6.4.5求微分方程的解,初始條件為一、傅立葉變換及其反變換【調(diào)用格式】Fw=fourier(ft,t,w)求時域函數(shù)ft的傅氏變換Fwft=ifourier(Fw,w,t)求頻域函數(shù)Fw的傅立葉反變換ft6.5積分變換【說明】ft是以時間t為自變量的時域函數(shù);Fw是以角頻率w為自變量的頻域函數(shù);輸入?yún)?shù)t和w可以省略。例6.5.1
求函數(shù)的傅氏變換【說明】MATLAB的Maple提供了一些特殊函數(shù),這些函數(shù)不是MATLAB的函數(shù),因此不能在MATLAB中直接調(diào)用,必須用函數(shù)syms生成特殊函數(shù)的對象才能被MATLAB的符號計算所識別。例6.5.2求函數(shù)的傅氏變換其中x是參數(shù)
6.5積分變換二、拉普拉斯變換及其反變換【調(diào)用格式】Fs=laplace(ft,t,s) 求時域函數(shù)ft的拉氏變換Fwft=ilaplace(Fs,s,t) 求頻域Fs的拉氏反變換ft【說明】ft是以時間t為自變量的時域函數(shù);Fs是以復(fù)頻率s為自變量的頻域函數(shù);輸入?yún)?shù)t和s可以省略。6.5積分變換例6.5.3求函數(shù)的拉氏變換例6.5.4控制系統(tǒng)的閉環(huán)傳遞函數(shù)為
求初始條件為零時系統(tǒng)的單位階躍響應(yīng)。三、Z變換及其反變換【調(diào)用格式】Fz=ztrans(fn,n,z) 求時域序列fn的Z變換FzFn=iztrans(Fz,z,n) 求頻域序列Fz的Z反變換fn例6.5.5
某針對單位速度信號設(shè)計的最小拍控制系統(tǒng)的閉環(huán)脈沖傳遞函數(shù)為
求系統(tǒng)的單位速度響應(yīng),并觀察其最小拍的拍數(shù)。6.6Maple的應(yīng)用一、經(jīng)典特殊函數(shù)的調(diào)用Maple定義了許多工程上常用的“經(jīng)典特殊函數(shù)”,可以通過mfun函數(shù)計算這些經(jīng)典特殊函數(shù)的值。經(jīng)典特殊函數(shù)的使用步驟如下:1.獲取所需要的經(jīng)典特殊函數(shù)名運行docmfunlist即可獲得經(jīng)典特殊函數(shù)HTML格式的列表,表中詳細(xì)的說明了各個函數(shù)的函數(shù)名以及它們的數(shù)學(xué)定義,我們可以選擇所需的函數(shù)。也可以在命令窗口運行mfunlist命令來獲取經(jīng)典特殊函數(shù)的文本列表。6.6Maple的應(yīng)用2.通過mfun函數(shù)計算經(jīng)典特殊函數(shù)的值【調(diào)用格式】Y=mfun('fun',v1,v2,v3,v4)以輸入變量v1,v2,v3,v4調(diào)用經(jīng)典特殊函數(shù)fun【說明】函數(shù)名fun只能用字符串表示,輸入變量可以是函數(shù)fun能夠接收的合法數(shù)據(jù)。例6.6.1計算6.6Maple的應(yīng)用二、Maple函數(shù)的調(diào)用可以用maple函數(shù)調(diào)用Maple提供的各種符號計算函數(shù)。R=maple(MapleStatement)運行Maple格式的語句MapleStatementR=maple(fun,v1,v2,...)運行以v1等為輸入變量的Maple中的fun函數(shù)MapleStatement必須是復(fù)合Maple格式的語句,其格式和MATLAB語句有區(qū)別;返回值R是字符串,不是符號對象。【說明】【調(diào)用格式】例6.7.2求遞推方程的通解6.6Maple的應(yīng)用三、Maple工具的幫助系統(tǒng)MATLAB集成了符號計算工具Maple。Maple提供了大量的函數(shù)和指令用以實現(xiàn)符號計算,通過Maple的幫助系統(tǒng)獲取這些函數(shù)的使用方法是非常重要的。Maple幫助系統(tǒng)是通過mhelp命令引出的,可以進行3類幫助信息的搜索。1。Maple幫助索引【調(diào)用格式】mhelpindex【說明】可以調(diào)出Maple幫助的分類目錄,在命令窗口中會顯示Maple幫助的總目錄,里面列出有哪些具體的分類幫助條目。6.6Maple的應(yīng)用2。Maple分類幫助【調(diào)用格式】mhelpindex[category]【說明】獲取category分類中的幫助信息條目。category是mhelpindex命令列出的分類名稱,通常包括function、expression、misc、packages、procedure
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025亮化工程施工合同范本
- 2025關(guān)于保單質(zhì)押借款合同范本
- 2025汽車貨物運單 運輸合同
- 教育環(huán)境下的家庭教育與心理健康管理
- 教育領(lǐng)域的創(chuàng)新發(fā)展與環(huán)境優(yōu)化
- 打造孩子學(xué)習(xí)動力家庭作業(yè)高效管理法的核心要點
- 教育與科技的完美結(jié)合提升青年綜合素質(zhì)的新途徑
- 教育工作者孕婦的營養(yǎng)餐制作策略與分享
- 物聯(lián)網(wǎng)技術(shù)研發(fā)戰(zhàn)略合作協(xié)議
- 正式員工勞動合同書范本
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 化學(xué)-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測試題和答案
- 領(lǐng)導(dǎo)學(xué) 課件全套 孫健 第1-9章 領(lǐng)導(dǎo)要素- 領(lǐng)導(dǎo)力開發(fā)
- 2025新譯林版英語七年級下單詞默寫表
- 2024年私募基金爭議解決研究報告之一:私募基金管理人謹(jǐn)慎勤勉義務(wù)之邊界探析-國楓研究院
- 物業(yè)客服服務(wù)技巧培訓(xùn)
- 環(huán)衛(wèi)設(shè)施設(shè)備更新實施方案
- 招聘技巧的培訓(xùn)
- 北師大版一年級上冊數(shù)學(xué)全冊教案(教學(xué)設(shè)計)及教學(xué)反思
- 福建省公路水運工程試驗檢測費用參考指標(biāo)
- 節(jié)假日臨時活動保安服務(wù)方案
評論
0/150
提交評論