![第三章Matlab符號運(yùn)算dai_第1頁](http://file4.renrendoc.com/view/549887d2aa670d324d51cbf39a87447c/549887d2aa670d324d51cbf39a87447c1.gif)
![第三章Matlab符號運(yùn)算dai_第2頁](http://file4.renrendoc.com/view/549887d2aa670d324d51cbf39a87447c/549887d2aa670d324d51cbf39a87447c2.gif)
![第三章Matlab符號運(yùn)算dai_第3頁](http://file4.renrendoc.com/view/549887d2aa670d324d51cbf39a87447c/549887d2aa670d324d51cbf39a87447c3.gif)
![第三章Matlab符號運(yùn)算dai_第4頁](http://file4.renrendoc.com/view/549887d2aa670d324d51cbf39a87447c/549887d2aa670d324d51cbf39a87447c4.gif)
![第三章Matlab符號運(yùn)算dai_第5頁](http://file4.renrendoc.com/view/549887d2aa670d324d51cbf39a87447c/549887d2aa670d324d51cbf39a87447c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1MATLAB的符號運(yùn)算——Matlab不僅具有數(shù)值運(yùn)算功能,還開發(fā)了在matlab環(huán)境下實(shí)現(xiàn)符號計(jì)算的工具包SymbolicMathToolbox符號運(yùn)算的功能符號表達(dá)式、符號矩陣的創(chuàng)建因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程3符號運(yùn)算的基本操作什么是符號運(yùn)算
與數(shù)值運(yùn)算的區(qū)別
※
數(shù)值運(yùn)算中必須先對變量賦值,然后才能參與運(yùn)算。
※
符號運(yùn)算無須事先對變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號形式表達(dá)。 4特點(diǎn):運(yùn)算對象可以是沒賦值的符號變量,以推理解析的方式進(jìn)行,因此不受計(jì)算誤差累積所帶來的困擾??梢越o出完全正確的封閉解或任意精度的數(shù)值解(當(dāng)封閉解不存在時)。③符號計(jì)算指令的調(diào)用簡單,和經(jīng)典教科書公式相近。④計(jì)算所需的時間較長。
5SymbolicMathToolboxforMATLAB較早版本的符號引擎為Maple,在MatlabR2008b(7.7)以后,默認(rèn)符號計(jì)算引擎為“MuPAD”,但是如果用戶安裝了與matlab版本相配套的Maple和MapleToolboxforMatlab,用戶可以選擇使用“MuPAD”或“Maple”作為默認(rèn)的符號引擎。
符號對象符號數(shù)學(xué)工具箱中定義了一種新的數(shù)據(jù)類型:符號對象,符號對象可以表示符號變量、符號常量、符號矩陣符號對象創(chuàng)建相關(guān)指令為:sym()和syms()
(symbolic的縮寫)符號對象sym()調(diào)用格式:S=sym(A,flag),A是一個數(shù)字、數(shù)值矩陣或數(shù)值表達(dá)式,輸出將數(shù)值對象轉(zhuǎn)換為符號對象。S=sym(‘A’,flag),A是一個字符串,輸出將字符串轉(zhuǎn)換為符號對象。如果被轉(zhuǎn)換對象為數(shù)值對象,flag表示轉(zhuǎn)換的符號對象應(yīng)該符合的格式:‘d’---十進(jìn)制表示,有效位數(shù)由digits確定‘e’---帶估計(jì)誤差的有理表示‘f’---浮點(diǎn)表示‘r’---為缺省設(shè)置,最接近有理表示的形式符號對象>>digits(10);>>sym(1/3+1/2,'d')ans=0.8333333333>>sym(1/3+1/2,'e')
ans=
5/6-eps/3eps,正的極小值2.2204e-016>>sym(1/3+1/2,'f')
ans=3752999689475413/4503599627370496
N*2^eforintegersNande.>>sym(1/3+1/2,'r')
ans=
5/6符號對象如果被轉(zhuǎn)換對象為字符串,flag:‘positive’---限定S為正的實(shí)型符號變量‘real’---限定S為實(shí)型符號變量‘unreal’---限定S為非實(shí)型符號變量syms()調(diào)用格式:symsabcd符號常量當(dāng)數(shù)值常量作為sym()的輸入?yún)⒘繒r,就建立了一個符號對象——符號常量。雖然看上去是一個數(shù)值量,但已經(jīng)是一個符號對象了。例:a=3/4;b='3/4';c=sym(3/4);d=sym('3/4');whos查看變量類型a為實(shí)雙精度浮點(diǎn)數(shù)值類型;b為字符類型;c和d都是符號對象類型。符號變量符號變量是內(nèi)容可變的符號對象。符號變量通常是指一個或幾個特定的字符,不是指符號表達(dá)式,可以將一個符號表達(dá)式賦值給一個符號變量。符號變量有時也稱自由變量,它的命名規(guī)則和數(shù)值變量的命名規(guī)則相同。例:用函數(shù)命令sym()和syms()來創(chuàng)建符號變量,并檢測數(shù)據(jù)類型。a=sym('a')b=sym('c')classa=class(a)classb=class(b)注意兩個a的區(qū)別,可看出a,b兩個變量均為符號對象symsabcdefghwhos也可以查看所有變量類型從上述比較來看:當(dāng)需要同時定義多個符號變量時,使用syms()更簡潔一些。sym和syms區(qū)別syms可以同時定義多個符號變量,sym一次定義一個符號變量;sym可以在定義時,同時把變量賦給另外一個符號變量,如p=sym('q')syms是定義符號變量,sym將數(shù)字、字符或者表達(dá)式轉(zhuǎn)換為符號對象比如:symsxy%定義了符號變量x,y,以后x,y就可以直接使用了,由x,y參與運(yùn)算的結(jié)果也是符號變量sym('a+b')%將a+b轉(zhuǎn)化為符號表達(dá)式13由符號變量構(gòu)成的符號函數(shù)和符號方程符號表達(dá)式是由符號常量、符號變量、符號函數(shù)運(yùn)算符以及專用函數(shù)連接起來的符號對象。包括:符號函數(shù)和符號方程。判斷看帶不帶等號。符號函數(shù)不帶等號,符號方程帶等號采用sym()和syms()來建立符號表達(dá)式例:symsxyz;f1=x*y/z;f2=x^2+y^2+z^2;f3=f1/f2;%符號函數(shù)
e1=sym('sin(x)^2+2*cos(x)=1')
e2=sym(‘Dy-y=x’)%符號方程符號矩陣的創(chuàng)建元素是符號對象(符號變量、符號常量、符號表達(dá)式、)的矩陣數(shù)值矩陣A=[1,2;3,4]A=[a,b;c,d]——不識別用Matlab函數(shù)sym創(chuàng)建矩陣,矩陣含有字符命令格式:A=sym('[]')※符號矩陣內(nèi)容同數(shù)值矩陣
※需用sym指令定義,需用''標(biāo)識
※注意與'[a,b;c,d]'的區(qū)別例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]
這就完成了一個符號矩陣的創(chuàng)建。注意:符號矩陣的每一行的兩端都有方括號,這是與Matlab數(shù)值矩陣的一個重要區(qū)別。將數(shù)值矩陣轉(zhuǎn)化為符號矩陣函數(shù)調(diào)用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)ans=[1/3,5/2][10/7,2/5]符號矩陣與數(shù)值矩陣的轉(zhuǎn)換18將符號矩陣轉(zhuǎn)化為數(shù)值矩陣函數(shù)調(diào)用格式:double(A)A=[1/3,5/2][10/7,2/5]double(A)ans=0.33332.50001.42860.4000由于Matlab7.0采用了重載技術(shù),使得符號計(jì)算表達(dá)式的運(yùn)算符和基本函數(shù),無論在形狀、名稱上,還是在使用方法上,都與數(shù)值計(jì)算中的運(yùn)算符和基本函數(shù)幾乎完全相同。這無疑給用戶帶來了極大的方便。例外:在符號對象的比較中,沒有”大于”、”大于等于”、”小于”、”小于等于”的概念,而只有是否“等于”的概念。符號運(yùn)算任意精度的數(shù)學(xué)運(yùn)算在symbolic中有三種不同的算術(shù)運(yùn)算:數(shù)值類型matlab的浮點(diǎn)算術(shù)運(yùn)算有理數(shù)類型精確符號運(yùn)算vpa類型任意精度算術(shù)運(yùn)算任意精度的數(shù)學(xué)運(yùn)算數(shù)值類型:浮點(diǎn)運(yùn)算是最快的運(yùn)算,需要的計(jì)算機(jī)內(nèi)存最小,但結(jié)果不精確,存在舍入誤差。有理數(shù)類型:計(jì)算時間和內(nèi)存最大,結(jié)果精確。vpa類型從精確解中獲得任意精度的解。浮點(diǎn)算術(shù)運(yùn)算formatlong--(定義輸出格式,顯示15位十進(jìn)制數(shù))
1/2+1/3ans=0.833333333333333符號運(yùn)算sym(1/2+1/3)ans=5/6--精確解任意精度算術(shù)運(yùn)算digits(n)——設(shè)置近似解的精度為n位有效數(shù)字,默認(rèn)32位有效數(shù)字。vpa(x,n)——求符號解的近似解,該近似解的有效位數(shù)由n來決定。digits(25)vpa(1/2+1/3)ans=.8333333333333333333333333vpa(5/6,40)ans=.8333333333333333333333333333333333333333
a=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]符號表達(dá)式的化簡可以對符號計(jì)算結(jié)果進(jìn)行簡化,諸如因式分解、同類項(xiàng)合并、符號表達(dá)式的展開、符號表達(dá)式的化簡等等。合并同類項(xiàng)collect(v)----將表達(dá)式v的相同次冪的項(xiàng)合并。例:symsxt%定義基本變量
f=(x-1)*(x-2)*(x-3)%定義符號表達(dá)式
collect(f)%合并f中x的同類項(xiàng)ans=x^3-6*x^2+11*x-6expand(s)將s中的各項(xiàng)進(jìn)行展開,用于多項(xiàng)式,三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)。例:symsxy;f=(x+y)^3;f1=expand(f)f1=x^3+3*x^2*y+3*x*y^2+y^3例:h=cos(x-y)expand(h)ans=cos(x)*cos(y)+sin(x)*sin(y)factor(S)將系數(shù)為有理數(shù)的多項(xiàng)式(矩陣)S,表示成低階多項(xiàng)式相乘的形式,如果不能分解,則返回S本身。例:symsxyfactor(x^3-y^3)ans=(x-y)*(x^2+x*y+y^2)simplify()該函數(shù)是一個強(qiáng)有力的具有普遍意義的工具,它利用化簡規(guī)則對表達(dá)式進(jìn)行簡化。例:S=sym('[(x^2+5*x+6)/(x+2);sqrt(16)]')simplify(S)ans=x+34simple()用幾種不同的算術(shù)簡化規(guī)則對符號表達(dá)式進(jìn)行簡化,使其用最少的字符來表示。雖然并非表達(dá)式中的字符越少,表達(dá)式就越簡單,但采用這個標(biāo)準(zhǔn)往往能夠得到滿意的結(jié)果,尤其是對于包含三角函數(shù)的表達(dá)式。例:symsxsimple(cos(x)^2+sin(x)^2)ans=130simplify:1
radsimp:cos(x)^2+sin(x)^2
simplify(100):1
combine(sincos):1
combine(sinhcosh):cos(x)^2+sin(x)^2combine(ln):cos(x)^2+sin(x)^2
Factor:cos(x)^2+sin(x)^2
Expand:
cos(x)^2+sin(x)^2
Combine:cos(x)^2+sin(x)^2
rewrite(exp):((1/exp(x*i))/2+exp(x*i)/2)^2+(((1/exp(x*i))*i)/2-(exp(x*i)*i)/2)^2
rewrite(sincos):cos(x)^2+sin(x)^2rewrite(sinhcosh):cosh(-x*i)^2-sinh(-i*x)^2
rewrite(tan):(tan(x/2)^2-1)^2/(tan(x/2)^2+1)^2+(4*tan(x/2)^2)/(tan(x/2)^2+1)^2mwcos2sin:1
collect(x):cos(x)^2+sin(x)^2ans=1diff(f)—對默認(rèn)變量求f的微分,默認(rèn)變量由symvar或findsym函數(shù)確定。diff(f,v)—對指定變量v求微分diff(f,n)—對默認(rèn)變量求n階微分diff(f,v,n)—對指定變量v求f的n階微分例:symsaxf=sin(a*x)df=diff(f)dfa=diff(f,a,2)符號微分與積分變換符號變量查詢symvar(S)或findsym(S)返回S中包含的所有符號變量,按字母排序,大寫在小寫前面symvar(S,N)返回N個最靠近‘x’的符號變量。pi,i,j不返回symvar(alpha+a+b)返回a,alpha,bsymvar(cos(alpha)*b*x1+14*y,2)返回x1,ysymvar(y*(4+3*i)+6*j)返回y32默認(rèn)(缺?。┓栕兞看_定x是首選的默認(rèn)變量,其后的次序排列規(guī)則:與x的ASCII碼值之差的絕對值小的字母優(yōu)先,差絕對值相同時,ASCII碼值大的字母優(yōu)先大寫字母離小寫x的距離總大于所有小寫字母離x的距離。自動識別默認(rèn)變量時,字母的優(yōu)先次序?yàn)閤,y,w,z,v3334符號表達(dá)式的極限limit(F,x,a)求當(dāng)x→a時,表達(dá)式F的極限limit(F,a)默認(rèn)自變量趨于a的極限limit(F)默認(rèn)自變量趨于0的極限值limit(F,x,a,'left')取F的左極限limit(F,x,a,'right')取F的右極限例:symshnxdc=limit((sin(x+h)-sin(x))/h,h,0)
%使用極限函數(shù),按照導(dǎo)數(shù)的定義求sin的導(dǎo)數(shù)。注意:對于極限不存在,返回NaN例:limit(1/x,x,0)limit(1/x,x,0,'left')limit(1/x,x,0,'right')結(jié)果分別為:ans=NaNans=-Infans=Infint(f)—對f表達(dá)式的默認(rèn)變量求不定積分int(f,v)—對f表達(dá)式的v變量求不定積分int(f,v,a,b)—對f表達(dá)式的v變量在(a,b)區(qū)間求定積分
注意:當(dāng)函數(shù)的積分不存在時,Matlab7.0將簡單地返回原來的積分表達(dá)式。符號表達(dá)式的積分int(‘被積表達(dá)式’,‘積分變量’,‘積分下限’,
‘積分上限')——定積分——缺省時為不定積分例:int(-2*x/(1+x^2)^2)ans=1/(1+x^2)int(log(x))int(log10(x))int(sin(x),x,-pi,pi)taylor(f,n,v,a)——v=a處的n-1階泰勒級數(shù)展開例:symsxf=1/(2+cos(x))r=taylor(f,8)%默認(rèn)變量x=0處7階泰勒級數(shù)展開symsum(f,v,a,b)—表達(dá)式f中變量v從a變到b時的有限和例:symsxks1=symsum(1/k^2,1,inf)s2=symsum(x^k,k,0,inf)
上述都是求無窮級數(shù)的和符號積分變換ztrans(f)——Z變換iztrans(f)——Z反變換laplace(f)——拉氏變換ilaplace(f)——拉氏反變換fourier(f)——付氏變換ifourier(f)——付氏反變換
注意:上述函數(shù)均缺省了部分參數(shù)
例1.計(jì)算二重不定積分symsxy;F=int(int(x*exp(-x*y),x),y)F=1/(y*exp(x*y))符號積分的例子
例2.計(jì)算f=x*exp(-x*10)的Z變換
symsx;f=x*exp(-x*10)
F=ztrans(f)F=(z*exp(10))/(z*exp(10)-1)^2符號積分的例子符號代數(shù)方程求解
Matlab符號運(yùn)算能夠解一般的線性方程、非線性方程、超越方程(指數(shù)方程、對數(shù)方程、三角方程、反三角方程等)。當(dāng)方程組不存在符號解時,則給出數(shù)值解。命令格式:solve(f,v)——求一個方程f=0的解,f可以是符號表達(dá)式,或帶單引號的字符串。Solve(f1,f2,…fn)——求n個方程的解
例1.f=ax2+bx+c求解symsabxc;f=a*x^2+b*x+c;solve(f)——對缺省變量x求解ans=-(b+(b^2-4*a*d)^(1/2))/(2*a)-(b-(b^2-4*a*d)^(1/2))/(2*a)計(jì)算機(jī)格式一般格式例2.符號方程cos(x)=sin(x)tan(2*x)=sin(x)求解
f1=solve(‘cos(x)=sin(x)’) f1=
1/4*pisolve(f,b)——對指定變量b求解solve('tan(2*x)=sin(x)')ans=
acos(1/2-3^(1/2)/2)acos(3^(1/2)/2+1/2)0-acos(1/2-3^(1/2)/2)-acos(3^(1/2)/2+1/2)例3.解方程組x+y+z=1x-y+z=22x-y-z=1g1='x+y+z=1',g2='x-y+z=2',g3='2*x-y-z=1'f=solve(g1,g2,g3)f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')f=x:[1x1sym] f.x ans=2/3 y:[1x1sym] f.y ans=-1/2z:[1x1sym] f.z ans=5/6
[x,y,z]=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')x=2/3y=-1/2z=5/6符號微分方程求解
——用一個函數(shù)可以方便地得到微分方程的符號解符號微分方程求解指令:dsolve命令格式:dsolve(f,g,v)f——微分方程,可多至12個微分方程的求解;g為初始條件或邊界條件。默認(rèn)自變量為‘t’,可任意指定自變量v微分方程的各階導(dǎo)數(shù)項(xiàng)以大寫字母D表示或或或y的一階導(dǎo)數(shù)——Dyy的二階導(dǎo)數(shù)——D2yy的n階導(dǎo)數(shù)——Dny[y1,y2…]=dsolve(f,g,v)——返回微分方程的解一階微分方程dsolve('Dx=y','Dy=x','x(0)=0','y(0)=1')ans=x(t)=exp(t)/2-1/(2*exp(t))---sinh(t)y(t)=1/(2*exp(t))+exp(t)/2----cosh(t)二階微分方程dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0')ans=(1/exp(a*t*i))/2+exp(a*t*i)/2---cos(a*t)例.y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0','x')ans=cos(x)/exp(x)+sin(x)/exp(x)ezplot(y)——方程解y(t)的時間曲線圖求該方程的解53symsy;X=dsolve('D4y-4*D3y+8*D2y-8*Dy+4*y=2')X=
1/2+C1*exp(t)*cos(t)+C2*exp(t)*sin(t)+C3*exp(t)*cos(t)*t+C4*exp(t)*sin(t)*t54線性常微分方程的解析求解symstyy=dsolve('D4y+11*D3y+41*D2y+61*Dy+30*y=exp(-6*t)*cos(5*t)');>>pretty(simple(y))55兩個數(shù)學(xué)分析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化轉(zhuǎn)型趨勢及實(shí)施方案
- 鍋爐工聘用合同
- 三農(nóng)行業(yè)現(xiàn)代農(nóng)業(yè)園區(qū)規(guī)劃與設(shè)計(jì)指導(dǎo)書
- 三農(nóng)村農(nóng)業(yè)綜合開發(fā)方案
- 2025年東營貨運(yùn)上崗證模擬考試
- 2025年東莞貨運(yùn)資格證安檢考試題
- 2025年安順貨運(yùn)從業(yè)資格證模擬考試保過版
- 2025年遼陽貨運(yùn)從業(yè)資格模擬考試
- 2025年荊州貨運(yùn)車從業(yè)考試題
- 2024年高考化學(xué)一輪復(fù)習(xí)2.2離子反應(yīng)離子方程式練習(xí)含解析
- 2025年春新滬科版物理八年級下冊全冊教學(xué)課件
- 2025年國家廣播電視總局監(jiān)管中心招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中醫(yī)院發(fā)展中醫(yī)重點(diǎn)專科、學(xué)科加強(qiáng)中醫(yī)藥人才培養(yǎng)的具體措施
- 2025年中國私域電商行業(yè)市場運(yùn)行態(tài)勢、市場規(guī)模及發(fā)展趨勢研究報(bào)告
- 財(cái)務(wù)核算管理制度
- 2024年山東省淄博市中考英語試題(含答案)
- 2025年浙江省重點(diǎn)高中提前自主招生數(shù)學(xué)模擬試卷(含答案)
- 弱電智能化勞務(wù)分包合同
- 電網(wǎng)調(diào)度基本知識課件
- 主要施工機(jī)械設(shè)備、勞動力、設(shè)備材料投入計(jì)劃及其保證措施
- 環(huán)境與職業(yè)健康安全管理手冊
評論
0/150
提交評論