matlab 第4章 符號數(shù)學基礎-王文杰_第1頁
matlab 第4章 符號數(shù)學基礎-王文杰_第2頁
matlab 第4章 符號數(shù)學基礎-王文杰_第3頁
matlab 第4章 符號數(shù)學基礎-王文杰_第4頁
matlab 第4章 符號數(shù)學基礎-王文杰_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

教學內容第1章 MATLAB概論第2章 矩陣運算基礎第3章 數(shù)值計算基礎第4章 符號數(shù)學基礎第5章 基本圖形處理功能第6章 高級圖形處理功能第7章 圖形用戶界面設計第8章 M文件程序設計基礎第9章 Simulink基礎14.1符號對象的創(chuàng)建4.2符號表達式的化簡和替換

4.3符號微積分4.4符號方程的求解4.5符號數(shù)學的簡易繪圖函數(shù)4.6圖形化符號函數(shù)計算器4.7Taylor級數(shù)計算器第4章符號數(shù)學基礎內容提要:2符號運算數(shù)值計算參與運算的變量是被賦值的數(shù)值變量,用于數(shù)值的存儲和各種數(shù)值的計算。參與運算的變量是符號變量,用于形成符號表達式,進行各種運算,給出解析表達式的結果3例:求多項式的根a=[12-3];r=roots(a)r=-3.00001.0000symsabcxs=a*x^2+b*x+c;r=solve(s)r=1/2/a*(-b+(b^2-4*a*c)^(1/2))1/2/a*(-b-(b^2-4*a*c)^(1/2))4

主要功能:符號表達式的創(chuàng)建、符號矩陣的運算、符號表達式的化簡和替換、符號微積分、符號代數(shù)方程、符號微分方程、符號函數(shù)繪圖符號數(shù)學工具箱:SymbolicMathToolbox54.1符號對象的創(chuàng)建

6symsvar1var2…varn4.1.1創(chuàng)建符號變量和表達式

創(chuàng)建一個符號變量var,并初始化。表示內容可以是字符、字符串、表達式var=sym(’x表示內容’)一次定義多個變量說明:

變量間用空格而不要用逗號分隔7例:exp4_1.ma=sym('a')b=sym('hello')c=sym('(1+sqrt(5))/2')y=sym('x^3+5*x^2+12*x+20')例:exp4_1_1.m創(chuàng)建符號表達式“b^2-4*a*c”,并賦值給符號變量dtdt=sym('b^2-4*a*c')8例:exp4_1_2.m比較符號常數(shù)與數(shù)值k1=sym('8');k2=sym('2');r1=8,r2=2;sqrtk=sqrt(k1)sqrtr=sqrt(r1)sqrt(k1+sqrt(k2))sqrt(r1+sqrt(r2))sqrtk=2*2^(1/2)sqrtr=2.8284ans=(8+2^(1/2))^(1/2)ans=3.06839symsabcxy=a*x^2+b*x+c10使用sym和syms函數(shù)直接輸入創(chuàng)建符號矩陣可以與數(shù)值矩陣相互轉換4.1.2創(chuàng)建符號矩陣數(shù)值矩陣轉換為符號矩陣—sym(x)符號矩陣轉換為數(shù)值矩陣--double(x)11例:exp4_3.msymsabcdn=[abcd;bcda;cdab;dabc]例:exp4_4.m將3階Hilbert矩陣轉換為符號矩陣h=hilb(3)h1=sym(h)h2=double(h1)12h=1.00000.50000.33330.50000.33330.25000.33330.25000.2000h1=[1,1/2,1/3][1/2,1/3,1/4][1/3,1/4,1/5]注意:數(shù)值矩陣和符號矩陣的區(qū)別例:exp4_4.m將3階Hilbert矩陣轉換為符號矩陣h=hilb(3)h1=sym(h)13MATLAB以最接近字符x的順序排列默認自變量;若與x相同距離,則在x后面的優(yōu)先;大寫字母比所有的小寫字母都靠后。i,j表示虛數(shù)單位,因此不能作為自變量4.1.3默認符號變量14可用findsym函數(shù)對默認自變量進行查詢findsym(f)按字母順序排列表達式f中全部自變量findsym(f,n)按最接近變量x的順序排列f中的前n個自變量15例4-3:創(chuàng)建符號變量a、b、n、x和t,建立函數(shù)f=axn+bt,并求f的默認自變量。symsabntx;f=a*x^n+b*t;f1=findsym(f,1);f2=findsym(f,2);f3=findsym(f,5);f4=findsym(f)f1=xf2=x,tf3=x,t,n,b,af4=a,b,n,t,x164.2

符號表達式的化簡和替換

17因式分解:函數(shù)為:factor,調用格式:factor(S),在這里可以使用函數(shù)pretty將符號表達式按照書寫的習慣方式顯示。如果S的所有元素為整數(shù),則計算其最佳因數(shù)分解

符號表達式的展開:函數(shù)為:expand(S)符號表達式的同類項合并:函數(shù)為:collect(S,n)將符號表達式S中自變量n的同次冪系數(shù)合并4.2.1符號表達式的化簡18符號表達式的化簡:提供了兩個化簡函數(shù),分別是simple和symplify函數(shù)simplify的調用格式為:simplify(S),化簡函數(shù),使用Maple化簡規(guī)則。Simple嘗試采用多種算法以尋求最簡形,其調用格式:[r,how]=simple(S),返回S最簡形式,r為返回的簡化形式,how為化簡過程中使用的主要方法19simple函數(shù)使用的化簡方法simplify:函數(shù)對表達式進行化簡radsim:函數(shù)對含根式的表達式進行化簡combine:函數(shù)將表達式中以求和、乘積、冪運算等形式出現(xiàn)的項進行合并collect:合并同類項factor:函數(shù)實現(xiàn)因式分解convert:函數(shù)完成表達式形式的轉換expand:符號表達式的同類項合并20例4-4:簡化

syms

x;f=(1/x^3+6/x^2+12/x+8)^(1/3);[g1,how]=simple(f)[g2,how]=simple(g1)g1=(2*x+1)/xhow=radsimpg2=2+1/xhow=expand21符號表達式的分式通分:函數(shù)為[n,d]=numden(S)將符號表達式轉換為分子和分母都是整系數(shù)的最佳多項式。n分子,d分母。符號表達式的嵌套式重寫:函數(shù)horner(S)將符號表達式S轉換為嵌套形式。22例4-5:對表達式進行通分n=y^2-x^2

d=x*ysymsxy;f=y/x-x/y;[n,d]=numden(f)23例4-6:對下列表達式進行嵌套形式重寫ans=-6+(5+(5+(-5+x)*x)*x)*xsymsx;f=x^4-5*x^3+5*x^2+5*x-6;horner(f)24subexpr:將表達式中重復出現(xiàn)的字符串用變量代替;調用格式:[Y,SIGMA]=subexpr(S,SIGMA)此函數(shù)用變量SIGMA的值代替符號表達式S中重復出現(xiàn)的字符串,Y返回替換后的結果。Subs:用指定符號替換符號表達式中的某一特定符號;調用格式:

R=subs(S,old,new)。當變量new是數(shù)值形式時,所顯示的結果雖然是數(shù)值,但它事實上仍然是符號變量。4.2.2符號表達式的替換25symsax;f=a*sin(x)+5;

f1=subs(f,'sin(x)',sym('y'))class(f1)f2=subs(f,{a,x},{2,sym('pi/3')})class(f2)f3=subs(f,[a,x],[2,pi/3])class(f3)例4-7:

subs的置換規(guī)則演示。符號表達式置換(sin(x)被y置換)符號常數(shù)置換(a被雙精度數(shù)字2置換,x被符號數(shù)字置換)雙精度數(shù)值置換26f1=a*y+5ans=sym

f2=3^(1/2)+5ans=symf3=6.7321ans=double274.3

符號微積分

28limit(f)limit(f,a)limit(f,x,a)limit(f,x,a,’right’)limit(f,x,a,’left’)注:∞在MATLAB中表示為inf4.3.1符號極限29例4-8:試求symsxkf;f=(1-1/x)^(k*x);Lim_f=limit(f,x,inf)Lim_f=exp(-k)304.3.2

符號微分

diff(S):求符號表達式S對默認變量的微分diff(S,v):求符號表達式S對變量v的微分diff(S,n):求符號表達式S對變量x的n次微分31clearsymsxg=sym('cos(x+sin(y(x)))=sin(y(x))');dgdx=diff(g,x)例4-9:對下列方程(即隱函數(shù))求導dgdx=-sin(x+sin(y(x)))*(1+cos(y(x))*diff(y(x),x))=cos(y(x))*diff(y(x),x)324.3.3

符號積分

int(S):求符號表達式S對于默認自變量的不定積分int(S,v):求符號表達式S對于自變量v的不定積分int(S,a,b):求符號表達式S對于默認自變量從a到b的定積分33例:symsxf=sin(x)/(x^2+4*x+3);f1=diff(f);f2=int(f1);f3=simplify(f2)f1=cos(x)/(x^2+4*x+3)-sin(x)/(x^2+4*x+3)^2*(2*x+4)f2=1/2*sin(x)/(x+1)-1/2*sin(x)/(x+3)f3=sin(x)/(x+1)/(x+3)34例:symsxyf=x*exp(-x*y);int(int(f,'x'),'y')ans=1/y*exp(-x*y)f=int(int('x*exp(-x*y)','x'),'y')int(int(f,x),y)35symsum(S):計算符號表達式對于默認自變量的不定和symsum(S,v):計算符號表達式對于自變量v的不定和syssum(S,a,b):

計算符號表達式對于默認自變量從a到b的有限和。4.3.4符號求和36symsuxsymsum(u)p=symsum(u^2,0,5)m=symsum(x^u/sym('u!'),u,0,inf)ans=1/2*u^2-1/2*up=55m=exp(x)例4-10:分別計算表達式:37Taylor(f)

:計算符號表達式f在默認自變量等于0處的5階taylor級數(shù)展開式。Taylor(f,n,v):計算符號表達式f在默認自變量v=0處的n-1階taylor級數(shù)展開式。Taylor(f,n,v,a):計算符號表達式f在默認自變量v=a處的n-1階taylor級數(shù)展開式。4.3.5Taylor級數(shù)展開38例:計算f=sin(x)的5階和9階Taylor級數(shù)展開式symsxtaylor(sin(x))taylor(sin(x),10)ans=x-1/6*x^3+1/120*x^5ans=x-1/6*x^3+1/120*x^5-1/5040*x^7+1/362880*x^939例:x=sym('x');f=1+3*x+5*x^2-2*x^3;f1=taylor(f,x,-1)f1=-8-13*x+11*(x+1)^2-2*(x+1)^3404.4

符號方程的求解

41g=solve(eq):求解符號表達式eq=0的代數(shù)方程,自變量為默認自變量。g=solve(eq,var):求解符號表達式eq=0的代數(shù)方程,自變量為var。g=solve(eq1,eq2,var1,var2):求解符號表達式eq1,eq2組成的代數(shù)方程組,自變量為var1,var2。4.4.1

符號代數(shù)方程的求解42例exp4_21.m

:f=ax2+bx+c求解symsabcxs=a*x^2+b*x+c;solve(s)ans=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]思考:solve(s,b)呢?ans=-(a*x^2+c)/x43例exp4_22.m

:求下列代數(shù)方程組的解symsxyzf=x^2-y^2+z-10;g=x+y-5*z;h=2*x-4*y+z;[x,y,z]=solve(f,g,h)x=-19/80+19/240*2409^(1/2)-19/80-19/240*2409^(1/2)y=-11/80+11/240*2409^(1/2)-11/80-11/240*2409^(1/2)z=-3/40+1/40*2409^(1/2)-3/40-1/40*2409^(1/2)44[x,y,z]=solve('x^2-y^2+z-10','x+y-5*z','2*x-4*y+z')symsxyzf=x^2-y^2+z-10;g=x+y-5*z;h=2*x-4*y+z;[x,y,z]=solve(f,g,h)454.4.2符號微分方程求解求由eq1,eq2…指定的常微分方程的常數(shù)解,參數(shù)cond1,cond2…為指定常微分方程的邊界條件或初始條件,自變量v如果不指定,將為默認自變量。46或或或y的一階導數(shù)——Dyy的二階導數(shù)——D2yy的n階導數(shù)——

Dny47例exp4_23.m

:dsolve('Dy=a*y')dsolve('Dy=a*y','y(0)=b')ans=C1*exp(a*t)ans=b*exp(a*t)48例:求該方程的解ans=exp(-x)*cos(x)+exp(-x)*sin(x)y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')49X=-C1*cos(t)+C2*sin(t)Y=C1*sin(t)+C2*cos(t)[X,Y]=dsolve('Dx=y,Dy=-x')[X,Y]=dsolve('Dx=y','Dy=-x')50例4-13求解兩點邊值問題:(1)求解邊值問題y=dsolve('x*D2y-3*Dy=x^2','y(1)=0,y(5)=0','x')y=31/468*x^4-1/3*x^3+125/46851(2)觀察“解”的圖形ezplot(y,[-1,6])holdonplot([1,5],[0,0],'.r','MarkerSize',20)text(1,1,'y(1)=0')text(4,1,'y(5)=0')title(['x*D2y-3*Dy=x^2',',y(1)=0,y(5)=0'])holdoff52534.5

符號數(shù)學的簡易繪圖函數(shù)54

4.5.1二維繪圖函數(shù)

ezplot(f):繪制f(x)的二維圖形,坐標范圍默認[-2*pi,2*pi]ezplot(f,xmin,xmax):繪制f(x)的二維圖形,坐標范圍[xmin,xmax].ezpolar(f):極坐標下的二維繪圖函數(shù),調用格式與ezplot相同。55例exp4_25_1.m

:繪制函數(shù)表達式sinx,x^2,x^2-y^4的二維圖形symsxyezplot(sin(x))figureezplot(x^2),gridfigureezplot(x^2-y^4)subplot(1,3,1),ezplot(sin(x)),gridsubplot(1,3,2),ezplot(x^2)subplot(1,3,3),ezplot(x^2-y^4)注意:grid為繪制網格命令56比較ezplot,plotsymsxezplot(sin(x))x=-2*pi:0.1:2*pi;y=sin(x);plot(x,y)plot(x,y,'y+--')57例exp4_27.m

:在極坐標下繪制函數(shù)表達式1+cos(t)的二維圖形symstezpolar(1+cos(t))58

4.5.2三維繪圖函數(shù)

ezplot3(x,y,z)

繪制x=x(t),y=y(t),z=z(t)定義的三維曲線,自變量t的范圍默認ezplot3(x,y,z,[tmin,tmax])

繪制x=x(t),y=y(t),z=z(t)定義的三維曲線.ezplot3(x,y,z,[tmin,tmax],’animate’)

繪制三維動態(tài)軌跡圖。59例exp4_28.m

:根據x=sin(t)、y=cos(t)和z=t,繪制三維曲線symst;ezplot3(sin(t),cos(t),t,[0,6*pi])ezplot3(sin(t),cos(t),t,[0,6*pi],'animate')60614.5.3等高線繪圖函數(shù)ezcontour(f)

繪制由表達式x,y定義的等高線,自變量變化范圍默認。ezcontour(f,domain)

繪制由表達式x,y定義的等高線,自變量變化范圍由domain確定,domain可以是4x1的矢量,[xmin,xmax,ymin,ymax],也可以是2x1的矢量[min,max],此時x,y的自變量的變化范圍一樣。62ezcontour(…,n)

繪制等高線時按nxn的網格密度繪圖,n缺省值為60填充等高線的簡易繪圖函數(shù)為ezcontourf,其調用格式與ezcontour相同。例4-29例4-30634.5.4網格圖繪圖函數(shù)ezmesh(f)

繪制由表達式f(x,y)定義的網格圖。ezmesh(f,domain).ezmesh(x,y,z)

繪制由表達式x=x(s,t),y=y(s,t),z=z(s,t)定義的參數(shù)表面網格圖,它們的范圍默認都為[-2*pi,2*pi]64ezmesh(x,y,t,[smin,smax,tmin,tmax])

繪制由表達式x=x(s,t),y=y(s,t),z=z(s,t)定義的參數(shù)表面網格圖ezmesh(…,n)

繪制網格圖時按nxn網格密度繪圖。ezmesh(…,’circ’)以圓盤為自變量域繪制網格圖ezmeshc

帶等高線網格圖的簡易繪圖函數(shù),調用格式與ezsurf相同。65symsxyezmesh(x*exp(-x^2-y^2),[-2.5,2.5],40)colormap([0.511])例exp4_31.m

:66ezmesh(x*exp(-x^2-y^2),[-2.5,2.5],40,'circ')例exp4_32.m

:674.5.5表面繪圖函數(shù)ezsurf(f)

繪制由表達式f(x,y)定義的表面圖。ezsurf(f,domain)ezsurf(x,y,t)

繪制由表達式x=x(s,t),y=y(s,t),z=z(s,t)定義的參數(shù)表面圖ezsurf(x,y,t,[smin,smax,tmin,tmax])

繪制由表達式x=x(s,t),y=y(s,t),z=z(s,t)定義的參數(shù)表面圖68ezsurf(…,n)

繪制表面圖時按nxn網格密度繪圖。ezsurf(…,’circ’)以圓盤為自變量域繪制表面圖ezsurfc帶等高線表面圖的簡易繪圖函數(shù),調用格式與ezsurf相同。69symstsx=cos(s)*cos(t);y=cos(s)*sin(t);z=sin(s);ezsurf(x,y,z,[0,pi/2,0,3*pi/2])view(17,40)例exp4_34.m

:70714.6圖形化符號函數(shù)計算器72圖形窗口1--函數(shù)f的顯示窗口圖形窗口2--函數(shù)g的顯示窗口函數(shù)功能的控制窗口funtool圖形化符號函數(shù)計算器。73輸入框:輸入參數(shù)或控制函數(shù)計算器:可進行一系列的函數(shù)運算,如函數(shù)的微積分,函數(shù)的和等744.7Taylor級數(shù)計算器

75使用taylortool級數(shù)計算器可以非常直觀地觀察taylor級數(shù)展開與原函數(shù)的接近程度,以便選擇合適的taylor級數(shù)taylortool啟動圖形化的taylor級數(shù)計算器7677sin(x)sin(2x)例:78★

作業(yè)

P264.24.6

4.879符號矩陣運算數(shù)值運算中,所有矩陣運算操作指令都比較直觀、簡單。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論