資源描述:
《matlab符號(hào)運(yùn)算2》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5章MATLAB符號(hào)運(yùn)算符號(hào)數(shù)學(xué)工具箱使用符號(hào)對(duì)象或字符串來進(jìn)行符號(hào)分析和運(yùn)算,它的結(jié)果形式也是符號(hào)或者說解析形式的。5.1符號(hào)對(duì)象及其表達(dá)方式符號(hào)對(duì)象是對(duì)參與符號(hào)運(yùn)算的各種形式量的一個(gè)統(tǒng)稱。包括符號(hào)常量、符號(hào)變量、符號(hào)表達(dá)式和符號(hào)矩陣或數(shù)組。定義符號(hào)常量sym()函數(shù)可以將一個(gè)數(shù)值常量A定義成一個(gè)符號(hào)常量sym(A)或sym(A,flag).flag為可選參數(shù),有4種形式,分別是'r'、'd'、'e'或'f'。r:有理數(shù)(缺?。ヾ:十進(jìn)制數(shù)e:帶有機(jī)器浮點(diǎn)誤差的有理數(shù)f:浮點(diǎn)數(shù)例5.1將一組數(shù)值常量定義成符號(hào)常量。l
2、og(2)%數(shù)值常量f1=sym('log(2)')%符號(hào)常量,注意f1在工作空間中的類型定義符號(hào)變量(1)使用sym()函數(shù):sym('x')sym('x','real')sym('x','unreal')(2)使用syms命令symsarg1arg2...symsarg1arg2...realsymsarg1arg2...unreal>>sym('x')%定義符號(hào)變量x>>sym('y','real')%定義符號(hào)變量y,且同時(shí)為實(shí)型符號(hào)量>>symsabc>>symsmnreal>>symsxyzunreal5.1.
3、2符號(hào)表達(dá)式由符號(hào)對(duì)象參與運(yùn)算的表達(dá)式即是符號(hào)表達(dá)式。與數(shù)值表達(dá)式不同,符號(hào)表達(dá)式中的變量不要求有預(yù)先確定的值。符號(hào)方程式是含有等號(hào)的符號(hào)表達(dá)式。例5.5構(gòu)造符號(hào)表達(dá)式。symsxyzrst;x^2+2*x+1f3=sym('r^2+sin(x)+cos(y)+log(s)+exp(t)')可以從工作空間中查證,f1、f2、f3均為符號(hào)表達(dá)式。f4='r^2+sin(x)+cos(y)+log(s)+exp(t)';g='sin(a)+cos(b)';%f4和g均為字符串變量。5.1.3符號(hào)矩陣符號(hào)矩陣的元素可以是符號(hào)常
4、量、符號(hào)變量和符號(hào)表達(dá)式,可用函數(shù)sym命令來直接創(chuàng)建符號(hào)矩陣;用類似創(chuàng)建普通數(shù)值矩陣的方法創(chuàng)建符號(hào)矩陣;由數(shù)值矩陣轉(zhuǎn)換為符號(hào)矩陣和以矩陣元素的通式來創(chuàng)建符號(hào)矩陣。例5.6構(gòu)造符號(hào)矩陣S=sym('[l,x,y,z;n,u,v,w;a,b,c,d;g,h,j,p]')H=sym('[cos(t),-sin(t);sin(t),cos(t)]')例5.7用sym()函數(shù)將數(shù)值矩陣轉(zhuǎn)換成符號(hào)矩陣。先建立一個(gè)數(shù)值矩陣,例如:M=[1.1,1.2,1.3;2.1,2.2,2.3;3.1,3.2,3.3]再通過sym命令可直接將數(shù)
5、值矩陣轉(zhuǎn)換為符號(hào)矩陣,例如:S=sym(M)例5.8用size()函數(shù)求符號(hào)矩陣的大小s=size(M)[s_r,s_c]=size(M)s_r=size(M,1)s_c=size(M,2)例5.9抽取符號(hào)矩陣中的元素B=sym('[a,b,c;d,e,f;g,h,k]')B(2,3),B(6)5.2符號(hào)算術(shù)運(yùn)算符號(hào)算術(shù)運(yùn)算主要是針對(duì)符號(hào)對(duì)象的加減、乘除運(yùn)算,其運(yùn)算法則和運(yùn)算符號(hào)同第2章介紹的數(shù)值運(yùn)算相同,其不同點(diǎn)在于參與運(yùn)算的對(duì)象和運(yùn)算所得結(jié)果是符號(hào)的而非數(shù)值的。例5.10求兩個(gè)符號(hào)表達(dá)式的和與差symsxfxgx%定
6、義符號(hào)變量于符號(hào)表達(dá)式fx=2*x^2+3*x-5gx=x^2-x+7fx+gxfx-gxA*B、A/B可分別用來求A和B兩個(gè)符號(hào)矩陣的乘法與除法。A.*B則用來實(shí)現(xiàn)兩個(gè)符號(hào)數(shù)組的乘法。其中矩陣除法也可用來求解符號(hào)線性方程組的解。symsabcdefgh;A=[ab;cd];B=[ef;gh];C1=A.*BD1=A*B例5-13已知多項(xiàng)式,,求兩個(gè)多項(xiàng)式的積和商。symsxfxgxfx=3*x^5-x^4+2*x^3+x^2+3gx=1/3*x^3+x^2-3*x-1fx*gxexpand(fx*gx)%展開積的符號(hào)表
7、達(dá)式5.3.1表達(dá)式中的獨(dú)立變量5.3.1表達(dá)式中的獨(dú)立變量當(dāng)符號(hào)表達(dá)式中含有多于一個(gè)的變量時(shí),只有一個(gè)變量是獨(dú)立變量。MATLAB基于以下規(guī)則選擇獨(dú)立變量:(1)因?yàn)閕和j是虛單位,它們不能作為獨(dú)立變量。(2)表達(dá)式中有x作為符號(hào)變量時(shí),x就是獨(dú)立變量。表達(dá)式中沒有x作為符號(hào)變量時(shí),就從表達(dá)式中挑選打頭字母最靠近x的符號(hào)變量作為獨(dú)立變量。如果表達(dá)式中有與x前后等距的兩個(gè)字母符號(hào)變量時(shí),選擇排序在x后面的那一個(gè)。findsym()查找MATLAB的符號(hào)表達(dá)式或矩陣中哪一個(gè)變量是獨(dú)立變量r=findsym(S):以字母表的
8、順序返回表達(dá)式S中的所有符號(hào)變量(注:符號(hào)變量由除了i與j的字母與數(shù)字構(gòu)成的、字母打頭的字符串)。若S中沒有任何的符號(hào)變量,則findsym返回一空字符串。r=findsym(S,n):返回表達(dá)式S中依接近x的順序而排列的n個(gè)符號(hào)變量symsaxyztalphabetaS1=findsym(sin(pi*t*alph