數(shù)模培訓(xùn)-matlab3 MATLAB符號計算功能_第1頁
數(shù)模培訓(xùn)-matlab3 MATLAB符號計算功能_第2頁
數(shù)模培訓(xùn)-matlab3 MATLAB符號計算功能_第3頁
數(shù)模培訓(xùn)-matlab3 MATLAB符號計算功能_第4頁
數(shù)模培訓(xùn)-matlab3 MATLAB符號計算功能_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

MATLAB的符號運算

符號表達式、符號矩陣的創(chuàng)建符號線性代數(shù)因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程什么是符號運算 與數(shù)值運算的區(qū)別※數(shù)值運算中必須先對變量賦值,然后才能參與運算?!栠\算無須事先對獨立變量賦值,運算結(jié)果以標準的符號形式表達。特點運算對象可以是沒賦值的符號變量??梢垣@得任意精度的解。SymbolicMathToolbox——符號運算工具包,通過調(diào)用Maple軟件實現(xiàn)符號計算。Maple軟件——主要功能是符號運算,它占據(jù)符號軟件的主導(dǎo)地位。

MATLAB包含兩個相關(guān)的工具箱:基本符號工具箱和擴展符號工具箱符號工具箱引入了符號對象;而數(shù)值運算中的數(shù)據(jù)被稱為數(shù)值對象。符號工具箱重載了MATLAB中的許多數(shù)值計算函數(shù),故使用方便。一、符號變量與符號表達式1符號變量:sym函數(shù)(symbolic的縮寫)例>>x=sym(‘x’)>>y=sym(‘y’)syms函數(shù)例>>symsxyz兩者功能相同,但syms輸入更方便。2符號表達式例:

>>f=sym('sin(x)+5*x’)f——符號變量名

sin(x)+5*x——符號表達式

'

'——符號標識※符號表達式一定要用''單引號括起來MATLAB才能識別?!膬?nèi)容可以是符號表達式,也可以是符號方程。例:

f1=sym('ax^2+bx+c')——二次三項式

f2=sym('ax^2+bx+c=0')——方程

f3=sym('Dy+y^2=1')——微分方程※符號表達式或符號方程可以賦給符號變量,以后調(diào)用方便;也可以不賦給符號變量直接參與運算。例1

sym('x'),rho=sym('(1+sqrt(5))/2')f=rho^2-rho-1,fs=simplify(f)ans=xrho=(1+sqrt(5))/2f=(1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)fs=0符號對象和數(shù)值對象之間的轉(zhuǎn)換例2rho=sym('(1+sqrt(5))/2');a=double(rho)b=sym((1+sqrt(5))/2,'r')digits(5);c=sym((1+sqrt(5))/2,'d')a=1.6180b=7286977268806824*2^(-52)c=1.61803確定符號表達式中自由變量的規(guī)則:

1)只對除i和j以外的單個小寫英文字母進行搜索;

2)默認x是首選變量;

3)其余小寫字母被選中為自由變量的次序是,在字母表中,靠x距離近的優(yōu)先;在x之后的優(yōu)先。符號表達式默認自變量a*x^2+b*x+cx1/(4+cos(t))t4*x/yx2*a+bb2*i+4*jx注意:

1)符號計算中出現(xiàn)的數(shù)字也都是當作符號處理的;

2)符號表達式對空格很敏感,請不要在字符間亂加修飾性空格符;

3)為了得到最簡結(jié)果,可能要多次使用命令simplify和simple。

4)數(shù)值對象不能參與符號運算,符號對象不能參與數(shù)值運算。3.符號矩陣的創(chuàng)建

數(shù)值矩陣A=[1,2;3,4]A=[a,b;c,d]——不識別

用MATLAB函數(shù)sym創(chuàng)建矩陣命令格式:A=sym('[]')

※符號矩陣內(nèi)容同數(shù)值矩陣

※需用sym指令定義

※需用''標識例3: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)例4A=[1/3,2.5;1/0.7,2/5]

A=0.33332.50001.42860.4000

sym(A)ans=[1/3,5/2][10/7,2/5]

符號矩陣與數(shù)值矩陣的轉(zhuǎn)換※將符號矩陣轉(zhuǎn)化為數(shù)值矩陣函數(shù)調(diào)用格式:numeric(A)例4(續(xù))A=[1/3,5/2][10/7,2/5]numeric(A)

ans=0.33332.50001.42860.4000

符號矩陣的操作和運算(包括數(shù)組運算和矩陣運算)與數(shù)值矩陣的操作和運算雷同。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。

二、符號矩陣的基本運算例5: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例6: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)符號函數(shù)特有的復(fù)合函數(shù)和反函數(shù)finverse(f)對默認自變量的函數(shù)求反函數(shù)finverse(f,v)對指定自變量為v的函數(shù)f(v)求反函數(shù)compose(f,g)求f=f(x)和g=g(y)的復(fù)合函數(shù)f(g(y))compose(f,g,z)求f=f(x)和g=g(y)的復(fù)合函數(shù)f(g(z))compose(f,g,x,z)求f=f(x)和g=g(y)的復(fù)合函數(shù)f(g(z)),其中x是f的自變量compose(f,g,x,y,z)求f=f(x)和g=g(y)的復(fù)合函數(shù)f(g(z)),其中x是f的自變量,y是g的自變量

例7symsxyztuv;h=x^t;p=exp(-y/u);fz=compose(h,p,x,y,z),fi=finverse(exp(u-2*v),u)

fz=exp(-z/u)^tfi=2*v+log(u)因式分解、展開和化簡collect(F)將表達式F中相同冪次的項合并expand(F)將表達式F展開factor(F)將表達式F因式分解simplify(F)利用代數(shù)上的函數(shù)規(guī)則對表達式F進行化簡simple(F)以盡可能的辦法將F表示式再做簡化,目的是使表達式以最少的字表示出來。例8a=sym('(s+1)/(s^2+5*s+6)');b=factor(a),symsx;a=sym((x+1)^3);c=expand(a)a=-1/4*x*exp(-2*x)+3/16*exp(-2*x);d1=collect(a,exp(-2*x)),d2=collect(a,'x')a=x^3-6*x^2+11*x-6;e=horner(a)a=sym('sin(x)^2+3*x+cos(x)^2-5');b=sym('(1-a^2)/(1-a)');A=[a,b];simplify(A);simple(A)

例8運行結(jié)果:

b=(s+1)/(s+3)/(s+2)c=x^3+3*x^2+3*x+1d1=(-1/4*x+3/16)*exp(-2*x)d2=-1/4*x*exp(-2*x)+3/16*exp(-2*x)e=-6+(11+(-6+x)*x)*xans=[-4+3*x,a+1]ans=[-4+3*x,a+1]注:因式操作僅針對矩陣中的元素進行。diff(f)—對缺省變量求微分diff(f,v)—對指定變量v求微分diff(f,v,n)—對指定變量v求n階微分int(f)—對f表達式的缺省變量求積分int(f,v)—對f表達式的v變量求積分int(f,v,a,b)—對f表達式的v變量在(a,b)區(qū)間求定積分三符號微積分int(‘被積表達式’,‘積分變量’,‘積分上限’,'積分下限')——定積分——缺省時為不定積分例9

積分

symsxkreal;f=exp(-(k*x)^2);int(f,x,-inf,inf)

ans=signum(k)/k*pi^(1/2)例10

多重積分

symsxyzF2=int(int(int(x^2+y^2+z^2,…z,sqrt(x*y),x^2*y),…y,sqrt(x),x^2),x,1,2);VF2=vpa(F2,10) VF2=224.9215357例11求導(dǎo)數(shù)

y=sym('sin(a*x)');a=diff(y),b=diff(y,2)c=diff(y,'x',2),d=diff(y,'a',1)

a=cos(a*x)*ab=-sin(a*x)*a^2c=-sin(a*x)*a^2d=cos(a*x)*x例12.計算二重不定積分F=int(int('x*exp(-x*y)','x'),'y')F=1/y*exp(-x*y)求極限和級數(shù)limit(f,x,a)----若a=0,且是對x求極限,可簡寫為limit(f)limit(f,x,a,’left’)----左趨近于alimit(f,x,a,’right’)----右趨近于asymsum(s,v,a,b)----自變量v在[a,b]之間取值時,對通項s求和。toylor(F,v,n)----求F對自變量v的泰勒級數(shù)展開至n階例13

求極限

symsxn;limit((1+x/n)^n,n,inf)limit(1/x,x,0,'left')ans=exp(x)ans=-inf例14

級數(shù)求和

s1=symsum(x^2,x,0,10)s2=symsum(x^k,k,0,inf)s1=385s2=-1/(x-1)四.符號代數(shù)方程求解

MATLAB符號運算能夠解一般的線性方程、非線性方程及一般的代數(shù)方程、代數(shù)方程組。當方程組不存在符號解時,又無其他自由參數(shù),則給出數(shù)值解。命令格式:solve(f)——求一個方程的解Solve(f1,f2,…fn)——求n個方程的解使用solve時,要求未知數(shù)的個數(shù)和方程的個數(shù)一致。例15.f=ax2+bx+c求解A=solve('a*x^2+b*x+c')——對缺省變量x求解A=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]計算機格式一般格式例16.分別對符號方程cos(x)=sin(x)tan(2*x)=sin(x)求解

f1=solve('cos(x)=sin(x)'),

f1=

1/4*pisolve('f','b')——對指定變量b求解ans=-(a*x^2+c)/xf2=solve('tan(2*x)=sin(x)')f2= [0][acos(1/2+1/2*3^(1/2))][acos(1/2-1/2*3^(1/2))]numeric(f2)ans=00+0.8314i1.9455例17用solve解方程

s=solve('2*x^2=(x-1)'),n=double(s),s=vpa(n,10)s=[1/4+1/4*i*7^(1/2)][1/4-1/4*i*7^(1/2)]n=0.2500+0.6614i0.2500-0.6614is=[.25000+.6614378278*i][.25000-.6614378278*i]例18解方程組x+y+z=1x-y+z=22x-y-z=1>>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')>>f.x,f.y,f.zf=x:[1x1sym]y:[1x1sym]z:[1x1sym]ans=2/3ans=-1/2ans=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)f——微分方程,可多至12個微分方程的求解;g為初始條件默認自變量為‘t',可任意指定自變量‘x','u'等微分方程的各階導(dǎo)數(shù)項以大寫字母D表示或或或y的一階導(dǎo)數(shù)——Dyy的二階導(dǎo)數(shù)——D2yy的n階導(dǎo)數(shù)——Dny[y1,y2…]=dsolve(x1,x2,…xn)——返回微分方程的解。一階微分方程例19dsolve('Dx=y','Dy=x','x(0)=0','y(0)=1')ans=x(t)=sin(t),y(t)=cos(t)二階微分方程例20dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0‘,’x’)ans=cos(a*x)例21y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')ans=exp(-x)*cos(x)+exp(-x)*sin(x)求該方程的解例22微分方程組

[f,g]=dsolve('Df=3*f+4*g',...'Dg=-4*f+3*g',...'f(0)=0,g(0)=1')f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)例2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論