資源描述:
《MATLAB語(yǔ)言基礎(chǔ) 第三講 MATLAB的符號(hào)運(yùn)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第三講MATLAB的符號(hào)運(yùn)算——matlab不僅具有數(shù)值運(yùn)算功能,還開(kāi)發(fā)了在matlab環(huán)境下實(shí)現(xiàn)符號(hào)計(jì)算的工具包SymbolicMathToolbox符號(hào)運(yùn)算的功能符號(hào)表達(dá)式、符號(hào)矩陣的創(chuàng)建符號(hào)線性代數(shù)因式分解、展開(kāi)和簡(jiǎn)化符號(hào)代數(shù)方程求解符號(hào)微積分符號(hào)微分方程一、符號(hào)運(yùn)算的基本操作什么是符號(hào)運(yùn)算與數(shù)值運(yùn)算的區(qū)別※數(shù)值運(yùn)算中必須先對(duì)變量賦值,然后才能參與運(yùn)算?!?hào)運(yùn)算無(wú)須事先對(duì)獨(dú)立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式表達(dá)。特點(diǎn):?運(yùn)算對(duì)象可以是沒(méi)賦值的符號(hào)變量?可以獲得任意精度的解SymbolicMathToolbox——符號(hào)運(yùn)算工具包通過(guò)調(diào)用Maple軟件實(shí)現(xiàn)符
2、號(hào)計(jì)算的。maple軟件——主要功能是符號(hào)運(yùn)算,它占據(jù)符號(hào)軟件的主導(dǎo)地位。2.符號(hào)變量與符號(hào)表達(dá)式f='sin(x)+5x'f——符號(hào)變量名sin(x)+5x——符號(hào)表達(dá)式''——符號(hào)標(biāo)識(shí)符號(hào)表達(dá)式一定要用''單引號(hào)括起來(lái)matlab才能識(shí)別。''的內(nèi)容可以是符號(hào)表達(dá)式,也可以是符號(hào)方程。例:f1='a?x^2+b?x+c'——二次三項(xiàng)式f2='a?x^2+b?x+c=0'——方程f3='Dy+y^2=1'——微分方程※符號(hào)表達(dá)式或符號(hào)方程可以賦給符號(hào)變量,以后調(diào)用方便;也可以不賦給符號(hào)變量直接參與運(yùn)算3.符號(hào)矩陣的創(chuàng)建數(shù)值矩陣A=[1,2;3,4]A=[a,b;
3、c,d]——不識(shí)別?用matlab函數(shù)sym創(chuàng)建矩陣(symbolic的縮寫(xiě))命令格式:A=sym('[]')※符號(hào)矩陣內(nèi)容同數(shù)值矩陣※需用sym指令定義※需用''標(biāo)識(shí)例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]這就完成了一個(gè)符號(hào)矩陣的創(chuàng)建。注意:符號(hào)矩陣的每一行的兩端都有方括號(hào),這是與matlab數(shù)值矩陣的一個(gè)重要區(qū)別。?用字符串直接創(chuàng)建矩陣模仿matlab數(shù)值矩陣的創(chuàng)建方法需保證同一列中各元素字符串有相同的長(zhǎng)度。例:A=['[a,2*b]';'[3*a,0]']A=[a,2*b][3*a,0]?符號(hào)矩陣的修改a.直接修改可
4、用?、?鍵找到所要修改的矩陣,直接修改b.指令修改用A1=sym(A,?,?,'new')來(lái)修改。用A1=subs(A,'new','old')來(lái)修改A1=subs(S,'old','new')例如:A=[a,2*b][3*a,0]A1=sym(A,2,2,'4*b')A1=[a,2*b][3*a,4*b]A(2,2)='4*b'A3=[a,2*b][3*a,4*b]A2=subs(A1,'c','b')A2=[a,2*c][3*a,4*c]將數(shù)值矩陣轉(zhuǎn)化為符號(hào)矩陣函數(shù)調(diào)用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.
5、42860.4000sym(A)ans=[1/3,5/2][10/7,2/5]?符號(hào)矩陣與數(shù)值矩陣的轉(zhuǎn)換將符號(hào)矩陣轉(zhuǎn)化為數(shù)值矩陣函數(shù)調(diào)用格式:numeric(A)A=[1/3,5/2][10/7,2/5]numeric(A)ans=0.33332.50001.42860.4000符號(hào)矩陣運(yùn)算數(shù)值運(yùn)算中,所有矩陣運(yùn)算操作指令都比較直觀、簡(jiǎn)單。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。而符號(hào)運(yùn)算就不同了,所有涉及符號(hào)運(yùn)算的操作都有專(zhuān)用函數(shù)來(lái)進(jìn)行二、符號(hào)運(yùn)算符號(hào)矩陣運(yùn)算的函數(shù):symadd(a,d)——符號(hào)矩陣的加symsub(a,b)——符號(hào)矩陣的減
6、symmul(a,b)——符號(hào)矩陣的乘symdiv(a,b)——符號(hào)矩陣的除sympow(a,b)——符號(hào)矩陣的冪運(yùn)算symop(a,b)——符號(hào)矩陣的綜合運(yùn)算例1:f='2*x^2+3*x-5';g='x^2+x-7';h=symadd(f,g)h=3*x^2+4*x-12例2:f='cos(x)';g='sin(2*x)';symop(f,'/',g,'+',f,'*',g)ans=cos(x)/sin(2*x)+cos(x)*sin(2*x)例1:f=2*x^2+3*x-5;g=x^2+x-7;>>symsx>>f=2*x^2+3*x-5;g=x^2+x-7
7、;>>h=f+gh=3*x^2+4*x-12例2:f=cos(x);g=sin(2*x);>>symsx>>f=cos(x);g=sin(2*x);>>f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)符號(hào)運(yùn)算函數(shù):symsize——求符號(hào)矩陣維數(shù)charploy——特征多項(xiàng)式determ——符號(hào)矩陣行列式的值eigensys——特征值和特征向量inverse——逆矩陣transpose——矩陣的轉(zhuǎn)置jordan——約當(dāng)標(biāo)準(zhǔn)型simple——符號(hào)矩陣簡(jiǎn)化2.任意精度的數(shù)學(xué)運(yùn)算在symbolic中有三種不同的算術(shù)運(yùn)算:數(shù)值類(lèi)型matlab的
8、浮點(diǎn)算術(shù)運(yùn)