資源描述:
《[工學]MATLAB課件第7講符號運算.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第七講MATLAB的符號運算——matlab不僅具有數(shù)值運算功能,還開發(fā)了在matlab環(huán)境下實現(xiàn)符號計算的工具包SymbolicMathToolbox符號運算的功能符號表達式、符號矩陣的創(chuàng)建符號線性代數(shù)因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程一、符號運算的基本操作什么是符號運算與數(shù)值運算的區(qū)別※數(shù)值運算中必須先對變量賦值,然后才能參與運算?!栠\算無須事先對獨立變量賦值,運算結(jié)果以標準的符號形式表達。特點:?運算對象可以是沒賦值的符號變量?可以獲得任意精度的解SymbolicMathToolbox——符號運算工具包通過調(diào)用Maple軟件實
2、現(xiàn)符號計算的。maple軟件——主要功能是符號運算,占據(jù)符號軟件的主導(dǎo)地位。2.符號變量與符號表達式f='sin(x)+5x'f——符號變量名sin(x)+5x——符號表達式''——符號標識符號表達式一定要用''單引號括起來matlab才能識別。''的內(nèi)容可以是符號表達式,也可以是符號方程。例:f1='a?x^2+b?x+c'——二次三項式f2='a?x^2+b?x+c=0'——方程f3='Dy+y^2=1'——微分方程※符號表達式或符號方程可以賦給符號變量,以后調(diào)用方便;也可以不賦給符號變量直接參與運算3.符號矩陣的創(chuàng)建數(shù)值矩陣A=[1,2;3,4]A=[a
3、,b;c,d]——不識別?用matlab函數(shù)sym創(chuàng)建矩陣(symbolic的縮寫)命令格式:A=sym('[]')※符號矩陣內(nèi)容同數(shù)值矩陣※需用sym指令定義※需用''標識例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]這就完成了一個符號矩陣的創(chuàng)建。注意:符號矩陣的每一行的兩端都有方括號,這是與matlab數(shù)值矩陣的一個重要區(qū)別。?用字符串直接創(chuàng)建矩陣模仿matlab數(shù)值矩陣的創(chuàng)建方法需保證同一列中各元素字符串有相同的長度。例:A=['[a,2*b]';'[3*a,0]']A=[a,2*b][3*a,0]?符號矩陣的修改a.
4、直接修改可用?、?鍵找到所要修改的矩陣,直接修改b.指令修改用A1=subs(A,{old},[new])來修改subs(A,'a','3*a')A=sym('[ab;cd]')符號矩陣運算數(shù)值運算中,所有矩陣運算操作指令都比較直觀、簡單。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。所有涉及符號運算的操作都需要先定義符號然后進行運算.二、符號運算例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;>>h=f+gh=3*x^2+4*x-12例2:f=cos(x);g=sin(x)
5、;>>symsx>>f=cos(x);g=sin(x);>>f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)2.任意精度的數(shù)學運算在symbolic中有三種不同的算術(shù)運算:數(shù)值類型matlab的浮點算術(shù)運算有理數(shù)類型maple的精確符號運算vpa類型maple的任意精度算術(shù)運算浮點算術(shù)運算1/2+1/3--(定義輸出格式formatlong)ans=0.83333333333333符號運算sym(1/2)+(1/3)ans=5/6--精確解任意精度算術(shù)運算digits(n)——設(shè)置可變精度,缺省16位vpa(x,n)——顯示可變精度
6、計算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,10)ans=[.2500000000,2.718281828][1.098612289,.4285714286]diff(f)—對缺省變量求微分diff(f,v)—對指定變量v求微分diff(f,v,n)—對指定變量
7、v求n階微分int(f)—對f表達式的缺省變量求積分int(f,v)—對f表達式的v變量求積分int(f,v,a,b)—對f表達式的v變量在(a,b)區(qū)間求定積分3.符號微積分與積分變換int('被積表達式','積分變量','積分上限','積分下限')——定積分——缺省時為不定積分taylor(f,n)——泰勒級數(shù)展開ztrans(f)——Z變換iztrans(f)——反Z變換Laplace(f)——拉氏變換ilaplace(f)——反拉氏變換fourier(f)——付氏變換ifourier(f)——反付氏變換例1.計算二重不定積分F=int(int('x*e
8、xp(-x*y)','x'),'y')