資源描述:
《第6講MATLAB符號(hào)計(jì)算一.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第6講MATLAB符號(hào)計(jì)算一西南科技大學(xué)網(wǎng)絡(luò)教育系列課程數(shù)學(xué)軟件數(shù)學(xué)軟件主講教師:鮮大權(quán)副教授西南科技大學(xué)理學(xué)院數(shù)學(xué)系6.1符號(hào)計(jì)算基礎(chǔ)6.2符號(hào)導(dǎo)數(shù)及其應(yīng)用6.3符號(hào)積分6.1符號(hào)計(jì)算基礎(chǔ)6.1.1符號(hào)對(duì)象1.建立符號(hào)變量和符號(hào)常數(shù)(1)sym函數(shù)sym函數(shù)用來(lái)建立單個(gè)符號(hào)量,例如,a=sym('a')建立符號(hào)變量a,此后,用戶可以在表達(dá)式中使用變量a進(jìn)行各種運(yùn)算。例6.1考察符號(hào)變量和數(shù)值變量的差別。在MATLAB命令窗口,輸入命令:a=sym('a');b=sym('b');c=sym('c');d=sym
2、('d');%定義4個(gè)符號(hào)變量w=10;x=5;y=-8;z=11;%定義4個(gè)數(shù)值變量A=[a,b;c,d]%建立符號(hào)矩陣AB=[w,x;y,z]%建立數(shù)值矩陣Bdet(A)%計(jì)算符號(hào)矩陣A的行列式det(B)%計(jì)算數(shù)值矩陣B的行列式例6.2比較符號(hào)常數(shù)與數(shù)值在代數(shù)運(yùn)算時(shí)的差別。在MATLAB命令窗口,輸入命令:pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3');%定義符號(hào)變量pi2=pi;r1=8;r2=2;r3=3;%定義數(shù)值變量sin(pi1/3)%計(jì)算符號(hào)表
3、達(dá)式值sin(pi2/3)%計(jì)算數(shù)值表達(dá)式值sqrt(k1)%計(jì)算符號(hào)表達(dá)式值sqrt(r1)%計(jì)算數(shù)值表達(dá)式值sqrt(k3+sqrt(k2))%計(jì)算符號(hào)表達(dá)式值sqrt(r3+sqrt(r2))%計(jì)算數(shù)值表達(dá)式值(2)syms函數(shù)syms函數(shù)的一般調(diào)用格式為:symsvar1var2…varn函數(shù)定義符號(hào)變量var1,var2,…,varn等。用這種格式定義符號(hào)變量時(shí)不要在變量名上加字符分界符('),變量間用空格而不要用逗號(hào)分隔。2.建立符號(hào)表達(dá)式例6.3用兩種方法建立符號(hào)表達(dá)式。在MATLAB窗口,輸入命令
4、:U=sym('3*x^2+5*y+2*x*y+6')%定義符號(hào)表達(dá)式Usymsxy;%建立符號(hào)變量x、yV=3*x^2+5*y+2*x*y+6%定義符號(hào)表達(dá)式V2*U-V+6%求符號(hào)表達(dá)式的值例6.4計(jì)算3階范得蒙矩陣行列式的值。設(shè)A是一個(gè)由符號(hào)變量a,b,c確定的范得蒙矩陣。命令如下:symsabc;U=[a,b,c];A=[[1,1,1];U;U.^2]%建立范得蒙符號(hào)矩陣det(A)%計(jì)算A的行列式值例6.5建立x,y的一般二元函數(shù)。在MATLAB命令窗口,輸入命令:symsxy;f=sym('f(x,y
5、)');6.1.2基本的符號(hào)運(yùn)算1.符號(hào)表達(dá)式運(yùn)算(1)符號(hào)表達(dá)式的四則運(yùn)算例6.6符號(hào)表達(dá)式的四則運(yùn)算示例。在MATLAB命令窗口,輸入命令:symsxyz;f=2*x+x^2*x-5*x+x^3%符號(hào)表達(dá)式的結(jié)果為最簡(jiǎn)形式f=2*x/(5*x)%符號(hào)表達(dá)式的結(jié)果為最簡(jiǎn)形式f=(x+y)*(x-y)%符號(hào)表達(dá)式的結(jié)果不是x^2-y^2,而是(x+y)*(x-y)(2)因式分解與展開factor(S)對(duì)S分解因式,S是符號(hào)表達(dá)式或符號(hào)矩陣。expand(S)對(duì)S進(jìn)行展開,S是符號(hào)表達(dá)式或符號(hào)矩陣。collect(
6、S)對(duì)S合并同類項(xiàng),S是符號(hào)表達(dá)式或符號(hào)矩陣。collect(S,v)對(duì)S按變量v合并同類項(xiàng),S是符號(hào)表達(dá)式或符號(hào)矩陣。例6.7對(duì)符號(hào)矩陣A的每個(gè)元素分解因式。命令如下:symsabxy;A=[2*a^2*b^3*x^2-4*a*b^4*x^3+10*a*b^6*x^4,3*x*y-5*x^2;4,a^3-b^3];factor(A)%對(duì)A的每個(gè)元素分解因式例6.8計(jì)算表達(dá)式S的值。命令如下:symsxy;s=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s)%對(duì)s展開collect(s,
7、x)%對(duì)s按變量x合并同類項(xiàng)(無(wú)同類項(xiàng))factor(ans)%對(duì)ans分解因式(3)表達(dá)式化簡(jiǎn)MATLAB提供的對(duì)符號(hào)表達(dá)式化簡(jiǎn)的函數(shù)有:simplify(S)應(yīng)用函數(shù)規(guī)則對(duì)S進(jìn)行化簡(jiǎn)。simple(S)調(diào)用MATLAB的其他函數(shù)對(duì)表達(dá)式進(jìn)行綜合化簡(jiǎn),并顯示化簡(jiǎn)過(guò)程。例6.9化簡(jiǎn)命令如下:symsxy;s=(x^2+y^2)^2+(x^2-y^2)^2;simple(s)%MATLAB自動(dòng)調(diào)用多種函數(shù)對(duì)s進(jìn)行化簡(jiǎn),并顯示每步結(jié)果2.符號(hào)矩陣運(yùn)算transpose(S)返回S矩陣的轉(zhuǎn)置矩陣。determ(S)返回
8、S矩陣的行列式值。colspace(S)返回S矩陣列空間的基。[Q,D]=eigensys(S)Q返回S矩陣的特征向量,D返回S矩陣的特征值。6.1.3符號(hào)表達(dá)式中變量的確定MATLAB中的符號(hào)可以表示符號(hào)變量和符號(hào)常數(shù)。findsym可以幫助用戶查找一個(gè)符號(hào)表達(dá)式中的的符號(hào)變量。該函數(shù)的調(diào)用格式為:findsym(S,n)函數(shù)返回符號(hào)表達(dá)式S中的n個(gè)符號(hào)變量,若沒(méi)有指定