MATLAB符號(hào)運(yùn)算運(yùn)用_第1頁(yè)
MATLAB符號(hào)運(yùn)算運(yùn)用_第2頁(yè)
MATLAB符號(hào)運(yùn)算運(yùn)用_第3頁(yè)
MATLAB符號(hào)運(yùn)算運(yùn)用_第4頁(yè)
MATLAB符號(hào)運(yùn)算運(yùn)用_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 符號(hào)計(jì)算是對(duì)未賦值的符號(hào)對(duì)象(可以是常數(shù)、變量、表達(dá)式)進(jìn)行運(yùn)算和處理。MATLAB具有符號(hào)數(shù)學(xué)工具箱(Symbolic Math Toolbox),將符號(hào)運(yùn)算結(jié)合到MATLAB的數(shù)值運(yùn)算環(huán)境。符號(hào)數(shù)學(xué)工具箱是建立在Maple軟件基礎(chǔ)上的。3.1 3.1 符號(hào)表達(dá)式的建立符號(hào)表達(dá)式的建立3.1.1 創(chuàng)建符號(hào)常量創(chuàng)建符號(hào)常量符號(hào)常量是不含變量的符號(hào)表達(dá)式,用sym命令來(lái)創(chuàng)建符號(hào)常量。語(yǔ)法:語(yǔ)法:sym(常量常量) %創(chuàng)建符號(hào)常量例如: a=sym(sin(2)a =sin(2)3.1.2 3.1.2 創(chuàng)建符號(hào)變量和表達(dá)式1. 使用使用sym命令創(chuàng)建符號(hào)變量和表達(dá)式命令創(chuàng)建符號(hào)變量和表達(dá)式語(yǔ)法:

2、語(yǔ)法: sym(表達(dá)式表達(dá)式) %創(chuàng)建符號(hào)表達(dá)式 符號(hào)變量名符號(hào)變量名=sym(表達(dá)式表達(dá)式) %符號(hào)表達(dá)式賦給 符號(hào)變量2.使用使用syms命令創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式命令創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式syms用于創(chuàng)建多個(gè)多個(gè)符號(hào)變量語(yǔ)法:語(yǔ)法:syms(arg1, arg2, ,參數(shù)參數(shù)) %把字符變量定義為符號(hào)變量syms arg1 arg2 ,參數(shù)參數(shù) %把字符變量定義為符號(hào)變量的簡(jiǎn)潔形式簡(jiǎn)潔形式【例例】使用syms命令創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式。 syms a b c x %創(chuàng)建多個(gè)符號(hào)變量創(chuàng)建多個(gè)符號(hào)變量 f2=a*x2+b*x+c %創(chuàng)建符號(hào)表達(dá)式創(chuàng)建符號(hào)表達(dá)式 f2 =a*x2+b*x

3、+c syms(a,b,c,x) f3=a*x2+b*x+c; %創(chuàng)建符號(hào)表達(dá)式創(chuàng)建符號(hào)表達(dá)式 3.1.3 3.1.3 符號(hào)矩陣用sym和syms命令也可以創(chuàng)建符號(hào)矩陣。例如, A=sym(a,b;c,d) A = a, b c, d syms a b c d A=a b;c d A = a, b c, d 3.2 3.2 符號(hào)表達(dá)式的代數(shù)運(yùn)算符號(hào)表達(dá)式的代數(shù)運(yùn)算 符號(hào)運(yùn)算不需要進(jìn)行數(shù)值運(yùn)算,不會(huì)出現(xiàn)截?cái)嗾`差,因此符號(hào)運(yùn)算是非常準(zhǔn)確的。符號(hào)運(yùn)算可以得出完全的封閉解或任意精度的數(shù)值解。符號(hào)運(yùn)算的時(shí)間較長(zhǎng),而數(shù)值型運(yùn)算速度快。3.2.1 3.2.1 符號(hào)表達(dá)式的代數(shù)運(yùn)算1. 符號(hào)運(yùn)算中的運(yùn)算符符號(hào)

4、運(yùn)算中的運(yùn)算符(1) 基本運(yùn)算符運(yùn)算符“”,“”,“*”,“”,“/”,“”分別實(shí)現(xiàn)符號(hào)矩陣的加、減、乘、左除、右除、求冪運(yùn)算。運(yùn)算符“.*”,“./”,“.”,“.”分別實(shí)現(xiàn)符號(hào)數(shù)組的乘、除、求冪,即數(shù)組間元素與元素的運(yùn)算。運(yùn)算符“”,“.”分別實(shí)現(xiàn)符號(hào)矩陣的共軛轉(zhuǎn)置、非共軛轉(zhuǎn)置。(2) 關(guān)系運(yùn)算符在符號(hào)對(duì)象的比較中,沒(méi)有沒(méi)有“大于”、“大于等于”、“小于”、“小于等于”的概念,而只有是否“等于”的概念。運(yùn)算符“= =”、“=”分別對(duì)運(yùn)算符兩邊的符號(hào)對(duì)象進(jìn)行“相等”、“不等”的比較。當(dāng)為“真”時(shí),比較結(jié)果用1表示;當(dāng)為“假”時(shí),比較結(jié)果則用0表示。2. 函數(shù)運(yùn)算函數(shù)運(yùn)算(1) 三角函數(shù)和雙曲

5、函數(shù)三角函數(shù)包括sin、cos、tan;雙曲函數(shù)包括sinh、cosh、tanh;三角反函數(shù)除了atan2函數(shù)僅能用于數(shù)值計(jì)算外,其余的asin、acos、atan函數(shù)在符號(hào)運(yùn)算中與數(shù)值計(jì)算的使用方法相同。(2) 指數(shù)和對(duì)數(shù)函數(shù)指數(shù)函數(shù)sqrt、exp的使用方法與數(shù)值計(jì)算的完全相同;對(duì)數(shù)函數(shù)在符號(hào)計(jì)算中只有自然對(duì)數(shù)log(表示ln),而沒(méi)有數(shù)值計(jì)算中的log2和log10。(3) 復(fù)數(shù)函數(shù)復(fù)數(shù)的共軛conj、求實(shí)部real、求虛部imag和求模abs函數(shù)與數(shù)值計(jì)算中的使用方法相同。但注意,在符號(hào)計(jì)算中,MATLAB沒(méi)有提供求相角的命令。(4) 矩陣代數(shù)命令MATLAB提供的常用矩陣代數(shù)命令有d

6、iag,triu,tril,inv,det,rank, poly,eig 、expm等,它們的用法幾乎與數(shù)值計(jì)算中的情況完全一樣?!纠壳缶仃嚨男辛惺街?、非共軛轉(zhuǎn)置和特征值。 syms a11 a12 a21 a22 A=a11 a12;a21 a22 %創(chuàng)建符號(hào)矩陣創(chuàng)建符號(hào)矩陣 A = a11, a12 a21, a22 det(A) %計(jì)算行列式計(jì)算行列式 ans =a11*a22-a12*a21 A. %計(jì)算非共軛轉(zhuǎn)置計(jì)算非共軛轉(zhuǎn)置 ans = a11, a21 a12, a22 eig(A) %計(jì)算特征值計(jì)算特征值 【例】符號(hào)表達(dá)式f=2x2+3x+4與g=5x+6的代數(shù)運(yùn)算。f=sy

7、m(2*x2+3*x+4)f =2*x2+3*x+4 g=sym(5*x+6) g =5*x+6 f+g %符號(hào)表達(dá)式相加符號(hào)表達(dá)式相加 ans =2*x2+8*x+10 f*g %符號(hào)表達(dá)式相乘符號(hào)表達(dá)式相乘 ans =(2*x2+3*x+4)*(5*x+6) 1. 1. 自由變量的確定原則 小寫(xiě)字母i和j不能作為自由變量。 符號(hào)表達(dá)式中如果有多個(gè)字符變量,則按照以下順序選擇自由變量:首先選擇x作為自由變量;如果沒(méi)有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。 大寫(xiě)字母比所有的小寫(xiě)字母都靠后。 2.2. findsymfindsym函數(shù) 如果不確定符號(hào)表達(dá)式

8、中的自由符號(hào)變量,可以用findsym函數(shù)來(lái)自動(dòng)確定。 語(yǔ)法: findsym(f,n)findsym(f,n) %確定自由符號(hào)變量 說(shuō)明:f可以是符號(hào)表達(dá)式或符號(hào)矩陣;n為按順序得出符號(hào)變量的個(gè)數(shù),當(dāng)n省略時(shí),則不按順序得出f中所有的符號(hào)變量。3.2.2 3.2.2 符號(hào)表達(dá)式的操作和轉(zhuǎn)換1、符號(hào)表達(dá)式中自由變量的確定、符號(hào)表達(dá)式中自由變量的確定 2、符號(hào)表達(dá)式的化簡(jiǎn)、符號(hào)表達(dá)式的化簡(jiǎn)(1) pretty函數(shù)函數(shù) 將給出排版形式的輸出結(jié)果。(2) collect函數(shù)函數(shù) (3) expand函數(shù)函數(shù) (4) horner函數(shù)函數(shù) (5) factor函數(shù)函數(shù) (6) simplify函數(shù)函數(shù)

9、 (7) simple函數(shù)函數(shù) 調(diào)用MATLAB的其他函數(shù)對(duì)表達(dá)式進(jìn)行綜合化簡(jiǎn),并顯示化簡(jiǎn)過(guò)程。3 3、符號(hào)表達(dá)式的替換 MATLAB 中,可以通過(guò)符號(hào)替換使表達(dá)式的形式簡(jiǎn)化。符號(hào)工具箱中提供了兩個(gè)函數(shù)用于表達(dá)式的替換:1 1subesubexprxpr 該函數(shù)自動(dòng)將表達(dá)式中重復(fù)出現(xiàn)的比較長(zhǎng)的子表達(dá)式或字符串用變量替換,該函數(shù)的調(diào)用格式為: subexpr(s,s1),指定用符號(hào)變量 s1 來(lái)代替符號(hào)表達(dá)式s(可以是矩陣)中重復(fù)出現(xiàn)的字符串。替換后的結(jié)果由 ans 返回,被替換的字符串由 s1返回; Y,s1 = subexpr(X,s1),該命令與上面的命令不同之處在于第二個(gè)參數(shù)為字符串,該

10、命令用來(lái)替換表達(dá)式中重復(fù)出現(xiàn)的字符串。 2. subs2. subs 函數(shù) subs 可以用指定符號(hào)替換表達(dá)式中的某一特定符號(hào)。 subs(s) subs(s, new) subs(s,old,new)4、求反函數(shù)和復(fù)合函數(shù)、求反函數(shù)和復(fù)合函數(shù)語(yǔ)法:語(yǔ)法:finverse(f,v) %對(duì)指定自變量v的函數(shù)f(v)求反函數(shù) compose(f,g) %計(jì)算復(fù)合函數(shù)f(g(x) 5 5、 符號(hào)表達(dá)式與多項(xiàng)式的轉(zhuǎn)換 構(gòu)成多項(xiàng)式的符號(hào)表達(dá)式f(x)可以與多項(xiàng)式系數(shù)構(gòu)成的行向量進(jìn)行相互轉(zhuǎn)換,MATLAB提供了函數(shù)sym2poly和poly2sym實(shí)現(xiàn)相互轉(zhuǎn)換?!纠?】將符號(hào)表達(dá)式2x+3x2+1轉(zhuǎn)換為

11、行向量。 f=sym(2*x+3*x2+1) f =2*x+3*x2+1 sym2poly(f) %轉(zhuǎn)換為按降冪排列的行向量轉(zhuǎn)換為按降冪排列的行向量ans = 3 2 1 【例例2】將行向量轉(zhuǎn)換為符號(hào)表達(dá)式。 g=poly2sym(1 3 2) %默認(rèn)默認(rèn)x為符號(hào)變量的符號(hào)表達(dá)式為符號(hào)變量的符號(hào)表達(dá)式g =x2+3*x+2 3.3 3.3 符號(hào)極限、微積分和級(jí)數(shù)求和符號(hào)極限、微積分和級(jí)數(shù)求和 3.3.1 符號(hào)極限符號(hào)極限 假定符號(hào)表達(dá)式的極限存在,Symbolic Math Toolbox提供了直接求表達(dá)式極限的函數(shù)limit,函數(shù)limit的基本用法如表所示。3.3.2 3.3.2 符號(hào)微分

12、函數(shù)diff是用來(lái)求符號(hào)表達(dá)式的微分。語(yǔ)法:語(yǔ)法: diff(f)%求f對(duì)自由變量的一階微分 diff(f,t)%求f對(duì)符號(hào)變量t的一階微分 diff(f,n)%求f對(duì)自由變量的n階微分 diff(f,t,n) %求f對(duì)符號(hào)變量t的n階微分3.3.3 3.3.3 符號(hào)積分 積分有定積分和不定積分,運(yùn)用函數(shù)int可以求得符號(hào)表達(dá)式的積分。語(yǔ)法:語(yǔ)法:int(f,t) %求符號(hào)變量t的不定積分int(f,t,a,b) %求符號(hào)變量t的積分int(f,t,m,n) %求符號(hào)變量t的積分說(shuō)明說(shuō)明:t為符號(hào)變量,當(dāng)t省略則為默認(rèn)自由變量;a和b為數(shù)值,a,b為積分區(qū)間;m和n為符號(hào)對(duì)象,m,n為積分區(qū)間

13、;與符號(hào)微分相比,符號(hào)積分復(fù)雜得多。因?yàn)楹瘮?shù)的積分有時(shí)可能不存在,即使存在,也可能限于很多條件,MATLAB無(wú)法順利得出。當(dāng)MATLAB不能找到積分時(shí),它將給出警告提示并返回該函數(shù)的原表達(dá)式。3.3.4 3.3.4 符號(hào)級(jí)數(shù)1. symsum函數(shù)函數(shù)語(yǔ)法:語(yǔ)法:symsum(s,x,a,b)%計(jì)算表達(dá)式s的級(jí)數(shù)和.說(shuō)明:x為自變量,x省略則默認(rèn)為對(duì)自由變量求和;s為符號(hào)表達(dá)式;a,b為參數(shù)x的取值范圍。2. taylor函數(shù)函數(shù)語(yǔ)法:語(yǔ)法:taylor (F,x,n) %求泰勒級(jí)數(shù)展開(kāi)說(shuō)明:x為自變量,F(xiàn)為符號(hào)表達(dá)式;對(duì)F進(jìn)行泰勒級(jí)數(shù)展開(kāi)至n項(xiàng),參數(shù)n省略則默認(rèn)展開(kāi)前5項(xiàng)。【例】求級(jí)數(shù) 1+x

14、+x2+xk+的和。syms x ksyms x k s1=symsum(1/k2,1,10) s1=symsum(1/k2,1,10) %計(jì)算級(jí)數(shù)的前1010項(xiàng)和 s1 =1968329/1270080 s2=symsum(1/k2,1,inf) s2=symsum(1/k2,1,inf) %計(jì)算級(jí)數(shù)和 s2 =1/6*pi2 s3=symsum(xk,k,0,inf) s3=symsum(xk,k,0,inf) %計(jì)算對(duì)k k為自變量的級(jí)數(shù)和 s3 =-1/(x-1) 222k131211【例】求ex的泰勒展開(kāi)式 syms x syms xs1=taylor(exp(x),8) s1=ta

15、ylor(exp(x),8) %展開(kāi)前8 8項(xiàng) s1 =1+x+1/2*x2+1/6*x3+1/24*x4+1/120*x5+1/720*x6+1/5040*x7 s2=taylor(exp(x) s2=taylor(exp(x) %默認(rèn)展開(kāi)前5 5項(xiàng) s2 =1+x+1/2*x2+1/6*x3+1/24*x4+1/120*x5 3.43.4 符號(hào)方程的求解符號(hào)方程的求解3.4.1 代數(shù)方程代數(shù)方程語(yǔ)法:語(yǔ)法:solve(eq,v) %求方程關(guān)于指定變量的解solve(eq1, eq2,v1,v2,) %求方程組關(guān)于指定變量的解 說(shuō)明說(shuō)明:eq可以是含等號(hào)的符號(hào)表達(dá)式的方程,也可以是不含等號(hào)的

16、符號(hào)表達(dá)式,但所指的仍是令eq=0的方程;當(dāng)參數(shù)v省略時(shí),默認(rèn)為方程中的自由變量;其輸出結(jié)果為結(jié)構(gòu)數(shù)組類(lèi)型。3.4.2 3.4.2 符號(hào)常微分方程語(yǔ)法:語(yǔ)法:dsolve(eq,con,v) %求解微分方程dsolve(eq1,eq2,con1,con2,v1,v2) %求解微分方程組說(shuō)明說(shuō)明:eq為微分方程;con是微分初始條件,可??;v為指定自由變量,省略時(shí)則默認(rèn)為x或t為自由變量;輸出結(jié)果為結(jié)構(gòu)數(shù)組類(lèi)型。當(dāng)y是因變量時(shí),微分方程eq的表述規(guī)定為:y的一階導(dǎo)數(shù) 表示為Dyy的n階導(dǎo)數(shù) 表示為Dny微分初始條件con應(yīng)寫(xiě)成y(a)=b,Dy(c)=d的格式。dydxnnd ydx3. 5 3

17、. 5 符號(hào)積分變換符號(hào)積分變換3.5.1 傅里葉傅里葉(Fourier)變換及其反變換變換及其反變換1. fourier變換變換語(yǔ)法:語(yǔ)法:Ffourier(f,t ,w) %求時(shí)域函數(shù)f(t)的fourier變換F說(shuō)明:返回結(jié)果F是符號(hào)變量w的函數(shù),當(dāng)參數(shù)w省略,默認(rèn)返回結(jié)果為w的函數(shù);f為t的函數(shù),當(dāng)參數(shù)t省略,默認(rèn)自由變量為x。2. fourier反變換反變換語(yǔ)法:語(yǔ)法:f=ifourier (F) %求頻域函數(shù)F的fourier反變換f(t)f=ifourier (F,w,t) 【例】計(jì)算f(t)= 的fourier變換F以及F的fourier反變換。syms t wsyms t w

18、 F=fourier(1/t,t,w) F=fourier(1/t,t,w) %fourier%fourier變換 F =i*pi*(Heaviside(-w)-Heaviside(w) f=ifourier(F,t) f=ifourier(F,t) %fourier%fourier反變換 f =1/t f=ifourier(F) f=ifourier(F) %fourier%fourier反變換默認(rèn)x x為自變量 f =1/x 程序分析:其中Heaviside(t)是單位階躍函數(shù) ,函數(shù)名為數(shù)學(xué)家Heaviside的名字。t10t0t013.5.2 3.5.2 拉普拉斯(Laplace)(Laplace)變換 及其反變換1. Laplace變換變換語(yǔ)法:語(yǔ)法:F=laplace(f,t,s) %求時(shí)域函數(shù)f的Laplace變換F說(shuō)明:返回結(jié)果F為s的函數(shù),當(dāng)參數(shù)s省略,返回結(jié)果F默認(rèn)為s的函數(shù);f為t的函數(shù),當(dāng)參數(shù)t省略,默認(rèn)自由變量為t。2. Laplace反變換反變換語(yǔ)法:語(yǔ)法:filaplace(F,s,t)%求F的Laplace反變換f【例】求sin(at)和階躍函數(shù)的Laplace變換。 syms a t s syms a t s F1=laplace(si

溫馨提示

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

評(píng)論

0/150

提交評(píng)論