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