資源描述:
《[工學(xué)]matlab課件第7講符號(hào)運(yùn)算》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(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——符
2、號(hào)運(yùn)算工具包通過(guò)調(diào)用Maple軟件實(shí)現(xiàn)符號(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)
3、變量直接參與運(yùn)算3.符號(hào)矩陣的創(chuàng)建數(shù)值矩陣A=[1,2;3,4]A=[a,b;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)建方法需保證同一列中各元素字符串有相同的
4、長(zhǎng)度。例:A=['[a,2*b]';'[3*a,0]']A=[a,2*b][3*a,0]?符號(hào)矩陣的修改a.直接修改可用?、?鍵找到所要修改的矩陣,直接修改b.指令修改用A1=subs(A,{old},[new])來(lái)修改subs(A,'a','3*a')A=sym('[ab;cd]')符號(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)然后進(jìn)行運(yùn)算.二、符號(hào)運(yùn)算例1:f=2*x^2+3*x-5;g=x^2+x-7;>>
5、symsx>>f=2*x^2+3*x-5;g=x^2+x-7;>>h=f+gh=3*x^2+4*x-12例2:f=cos(x);g=sin(x);>>symsx>>f=cos(x);g=sin(x);>>f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)2.任意精度的數(shù)學(xué)運(yùn)算在symbolic中有三種不同的算術(shù)運(yùn)算:數(shù)值類(lèi)型matlab的浮點(diǎn)算術(shù)運(yùn)算有理數(shù)類(lèi)型maple的精確符號(hào)運(yùn)算vpa類(lèi)型maple的任意精度算術(shù)運(yùn)算浮點(diǎn)算術(shù)運(yùn)算1/2+1/3--(定義輸出格式formatlong)ans=0.8
6、3333333333333符號(hào)運(yùn)算sym(1/2)+(1/3)ans=5/6--精確解任意精度算術(shù)運(yùn)算digits(n)——設(shè)置可變精度,缺省16位vpa(x,n)——顯示可變精度計(jì)算digits(25)vpa(1/2+1/3)ans=.8333333333333333333333333vpa(5/6,40)ans=.8333333333333333333333333333333333333333a=sym('[1/4,exp(1);log(3),3/7]')a=[1/4,exp(1)][log(3),3/7]vpa(a,1
7、0)ans=[.2500000000,2.718281828][1.098612289,.4285714286]diff(f)—對(duì)缺省變量求微分diff(f,v)—對(duì)指定變量v求微分diff(f,v,n)—對(duì)指定變量v求n階微分int(f)—對(duì)f表達(dá)式的缺省變量求積分int(f,v)—對(duì)f表達(dá)式的v變量求積分int(f,v,a,b)—對(duì)f表達(dá)式的v變量在(a,b)區(qū)間求定積分3.符號(hào)微積分與積分變換int('被積表達(dá)式','積分變量','積分上限','積分下限')——定積分——缺省時(shí)為不定積分taylor(f,n)——泰勒級(jí)
8、數(shù)展開(kāi)ztrans(f)——Z變換iztrans(f)——反Z變換Laplace(f)——拉氏變換ilaplace(f)——反拉氏變換fourier(f)——付氏變換ifourier(f)——反付氏變換例1.計(jì)算二重不定積分F=int(int('x*exp(-x*y)','x'),'y')