第五章MATLAB基本應用領域課件_第1頁
第五章MATLAB基本應用領域課件_第2頁
第五章MATLAB基本應用領域課件_第3頁
第五章MATLAB基本應用領域課件_第4頁
第五章MATLAB基本應用領域課件_第5頁
已閱讀5頁,還剩114頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章

MATLAB基本應用領域5.1符號運算Mathworks公司1993年Maple符號計算工具箱(SymbolicToolbox)1.符號運算入門例:solve('a*x^2+b*x+c=0')還可以是:

x=solve('a*x^2+b*x+c')或者

y='a*x^2+b*x+c'x=solve(y)例:對于數(shù)學表達式

合并關于x的同類項symsxy;collect(x^2*y+y*x-x^2-2*x)例:三因式連乘積的展開式

symsx;collect((x^2+1)*(x+2)*(x-3))例:求導數(shù)

x=sym('x')diff(cos(x)^2)例:求導數(shù)

symsx;diff(cos(x^2))例:計算不定積分

symsx;int(x)例:計算定積分

symsxab;int(x^2,a,b)例:求矩陣行列式的值

symsabcd;p=[ab;cd];det(p)例:解一階微分方程

symsay;dsolve('Dy=a*y')

例:解一階微分方程

symsay;dsolve('Dy=a*y')

2.MATLAB符號運算的幾個基本概念MATLAB數(shù)值運算的操作對象是數(shù)值,而MATLAB符號運算的操作對象是非數(shù)值的符號對象。(1)符號對象(sym類型)存儲代表非數(shù)值的字符對象。符號對象可以是符號常量(符號形式的數(shù))、符號變量、符號函數(shù)以及各種符號表達式等。(2)創(chuàng)建符號對象

格式1:S=sym(A)格式2:symss1s2s3例:

sym('a')

symsa(3)符號常量

例:對數(shù)值量1/8創(chuàng)建符號對象。a=sym(1/8)b=sym('1/8')(4)符號變量

例:a=sym('alpha')

symsalpha(5)符號表達式

符號表達式有兩類:符號函數(shù)與符號方程。例:用sym和syms建立符號函數(shù)symsnxtpTwc;f1=n*x^n/xf2=sym(log(t)^2*t+p)f3=pi+atan(T*wc)f4=sym('w+sin(a*z)')例:用sym建立符號方程e1=sym('a*x^2+b*x+c=0')e2=sym('log(t)^2*t=p')e3=sym('sin(x)^2+cos(x)=0')e4=sym('Dy-y=x')(6)函數(shù)命令findsym()確定一個符號表達式中的自變量格式1

findsym(f,n)按數(shù)學習慣確定符號函數(shù)f中的n個自變量。格式2

findsym(e,n)按數(shù)學習慣確定符號方程e中的n個自變量。例:用函數(shù)命令findsym()確定符號函數(shù)f1,f2中的自變量。symskmnwyz;f=n*y^n+m*y+w;ans1=findsym(f,1)f2=m*y+n*log(z)+exp(k*y*z);ans2=findsym(f2,2)例:用函數(shù)命令findsym()確定符號方程e1,e2中的自變量。symsabcxpqtw;e1=sym('a*x^2+b*x+c=0');ans1=findsym(e1,1)e2=sym('2*(sin(p*t+q))=0');ans2=findsym(e2)(7)符號矩陣例:用函數(shù)命令sym()來創(chuàng)建符號矩陣m1=sym('[ab

bc

cd;de

ef

fg;hij]');clam1=class(m1)m2=sym('[112;2334]');clam2=class(m2)m3=sym('[ab;cd]*x=0');clam3=class(m3)3.MATLAB符號運算的基本內容(1)符號變量代換及其函數(shù)subs()

格式1:subs(S,old,new)

old是符號表達式S中的符號變量,而new可以是符號變量、符號常量、雙精度數(shù)值與數(shù)值數(shù)組等。格式2:subs(S,new)

用new置換符號表達式S中的自變量。

例:

已知f=axn+by+k,符號變量替換:a=sint,b=lnw,k=ce-dt;符號常量替換:n=5,k=πk用數(shù)值數(shù)組替換:k=1:1:4。[解]symsabcdknxywt;f=a*x^n+b*y+kf2=subs(f,[abk],[sin(t)log(w)c*exp(-d*t)])f3=subs(f,[n,k],[5,pi])f4=subs(f,k,1:4)(2)MATLAB符號表達式的化簡a.因式分解的函數(shù)命令factor()格式:factor(E)factor(sym(N’))—對于大于252的整數(shù)的分解例:已知f=x3+x2-x-1,試對其因式分解。symsx;f=x^3+x^2-x-1;f1=factor(f)例:已知試對其因式分解。symsabc;f=a^4*(b^2-c^2)+b^4*(c^2-a^2)+c^4*(a^2-b^2);f1=factor(f)例:已知c=12345678901234567890,試對其進行質因子分解。c=sym('12345678901234567890');factor(c)b.符號表達式展開函數(shù)expand()例:用以下MATLAB語句展開:symsxy;f=(x+y)^3;f1=expand(f)c.同類項合并函數(shù)collect()格式1.collect(E,v)

將符號表達式E中的v的同冪項系數(shù)合并。格式2.collect(E)

將符號表達式E中由函數(shù)findsym()確定的默認變量的系數(shù)合并。例:symsabcx;f=a*x*exp(-c*x)+b*exp(-c*x);f1=collect(f,exp(-c*x))例:

symsabnxy;f=x^2*y+y*x-a*x^2-b*x;f1=collect(f)

d.符號表達式化簡函數(shù)simplify()與simple()

格式.

simplify(E)將符號表達式E運用多種恒等式變換進行綜合化簡。

例:進行綜合化簡。symsxncalphbeta;e10=sin(x)^2+cos(x)^2;e1=simplify(e10)e20=exp(c*log(alph+beta));e2=simplify(e20)函數(shù)simple()調用格式為:格式1.simple(E)對符號表達式E嘗試多種不同的簡化算法,以得到符號表達式E的長度最短的簡化形式。格式2.[R,HOW]=simple(E)功能同格式1,返回參數(shù)R為表達式的簡化型,HOW為簡化過程中使用的簡化方法。例:symsxy;e1=log(x)+log(y)[R1,HOW1]=simple(e1)e2=2*cos(x)^2-sin(x)^2[R2,HOW2]=simple(e2)e3=cos(x)+j*sin(x)[R3,HOW3]=simple(e3)e4=x^3+3*x^2+3*x+1[R4,HOW4]=simple(e4)e5=cos(x)^2-sin(x)^2[R5,HOW5]=simple(e5)e.符合函數(shù)的運算與函數(shù)命令compose()

設z是y的函數(shù)z=f(y),而y又是x的函數(shù)y=φ(x),則z對x的函數(shù):z=f(φ(x))叫做z對x的復合函數(shù)。求z對x的復合函數(shù)z=f(φ(x))的過程叫做復合函數(shù)運算。格式為:compose(f,g)

當f=f(x)和g=g(y)時,返回復合函數(shù)f((g(y)),即用g=g(y)代入f(x)中的x,且x為函數(shù)命令findsym()確定的f的自變量,y為findsym()確定的g的自變量。例:symsxtuy;f=log(x/t);g=u*cos(y);cfg=compose(f,g)f.反函數(shù)的運算與函數(shù)命令finverse()格式1.g=finverse(f)

求符號函數(shù)f的反函數(shù)g,符號函數(shù)表達式f有單變量x,函數(shù)g也是符號函數(shù)。格式2.g=finverse(f,v)

求符號函數(shù)的自變量為v的反函數(shù)g例:求函數(shù)y=ax+b的反函數(shù)。symsabxy=a*x+b;g=finverse(y)例:求函數(shù)的反函數(shù)。symsxy;f=x^2+y;g=finverse(f,x)4.MATLAB符號微積分運算(1)MATLAB符號極限運算命令limit()格式1.limit(F,x,a)

計算符號函數(shù)或符號表達式F當變量x→a條件下的極限值。例:試證明與相等。

clearsymsnx;y1=limit((1+(1/n))^n,n,inf)y2=limit(((2*x+3)/(2*x+1))^(x+1),x,inf)格式2.

limit(F,a)計算符號函數(shù)或符號表達式F中由命令findsym()返回的獨立變量趨向于a時的極限值。例:試求clearsymsxma;limit(((x^(1/m)-a^(1/m))/(x-a)),a)格式3.limit(F)計算符號函數(shù)或符號表達式F在x=0時的極限。例:試求clearsymsxc=limit(tan(2*x)/sin(5*x))格式4.limit(F,x,a,’right’)計算符號函數(shù)或符號表達式F在條件下的極限值。格式5.limit(F,x,a,’left’)計算符號函數(shù)或符號表達式F在條件下的極限值。(2)MATLAB符號微分運算函數(shù)diff()格式1.

diff(f,’v’,n)

對符號表達式或函數(shù)f指定的自變量v計算其n階導數(shù)。格式2.

diff(f,n)功能是對符號表達式或函數(shù)f按findsym()命令確定的自變量計算其n階導數(shù)。例:已知函數(shù)試求symsatx;f=[at^5;t*sin(x)log(x)];df=diff(f)dfdt2=diff(f,t,2)dfdxdt=diff(diff(f,x),t)

(3)MATLAB符號函數(shù)積分運算命令int()格式1.

int(S)

計算符號函數(shù)或表達式S對函數(shù)findsym()返回的符號變量的不定積分。如果S為常數(shù),則積分針對x.格式2.

int(S,v)

計算符號函數(shù)或函數(shù)表達式S對指定的符號變量v的不定積分。格式3.

int(S,v,a,b)

計算符號函數(shù)或表達式S對指定的符號變量v從下限a到上限b的定積分。格式4.

int(S,a,b)

計算符號函或表達式S對函findsym()返回的符號變量從a到b的定積分。

例:已知導函數(shù)求原函數(shù)f(x)。symsanx;dfdx=[2*xx^n;1/xa^x];f=int(dfdx)

例:已知函數(shù)與求定積分symsabxl=int(sym('1'),x,a,b)symsabxI=int(x^2,a,b)

例:試計算定積分與

symswx;I1=int(2*sin(w)/w,w,0,inf)f=sin(x/2)^6;I2=int(f,x,0,pi)5.MATLAB符號代數(shù)方程求解命令solve()對方程所求出的所有解,一定要逐一帶回到原方程進行校驗。

格式:solve('eqn1','eqn2',...,'equN','v1','v2',...,'vN')例:解方程組在a=1,b=2,c=3時的x,y,z。symsxyzabc;a=1;b=2;c=3;eq1=y^2-z^2-x^2eq2=y+z-aeq3=x^2-b*x-c[x,y,z]=solve(eq1,eq2,eq3,'x','y','z')6.MATLAB符號微分方程求解

格式:S=dsolve('equn1','equn2',...,'初始條件部分','指定獨立變量部分')特別規(guī)定當y為因變量時,用“Dny”表示“y的n階導數(shù)”。初始條件與分別寫成y(a)=b和Dy(c)=d等。獨立變量若沒有指定的話,則默認小寫字母t為獨立變量。例:求微分方程組的通解:symsxyt;[x,y]=dsolve('Dx+2*x+Dy+y=t','Dy+5*x+3*y=t^2','t')例:求微分方程組的通解以及滿足所給初始條件的特解:求通解:symsxy;[x,y]=dsolve('Dx=y','Dy=-x','t')求特解:symsxyt;[x,y]=dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1','t')5.2多項式與內插設n階多項式

p(x)=anxn+an-1xn-1+…+a1x+a0

1.多項式表示n階的多項式p(x)長度為n+1的行向量p。元素為多項式的系數(shù),并按x的冪降序排列,p=[anan-1…a1a0]

。函數(shù)poly2sym(p)可將多項式向量p表示成符號形式的多項式。2.多項式的根

roots(p)

計算方程p(x)=0的解。3.特征多項式如果多項式p的根存儲在向量r中,那么poly(r)則可從根向量r中恢復多項式p。

矩陣的特征多項式:構造一個矩陣sI-A,并求出該矩陣的行列式,則可得出一個多項式C(s)

C(s)=det(sI-A)=sn+c1sn-1+…+cn-1s+cn

多項式C(s)稱為矩陣A的特征多項式,系數(shù)ci,i=1,2,…,n稱為矩陣的特征多項式的系數(shù)。c=poly(A)為求取矩陣A特征多項式系數(shù)的函數(shù)

4.多項式及多項式矩陣的求值多項式的求值函數(shù)polyval()格式:polyval(p,x)

其中x為標量,p=[anan-1…a1a0]為多項式系數(shù)降冪排列構成的向量,計算多項式p的自變量為x時,多項式的值。多項式矩陣的求值函數(shù)polyvalm()

格式:polyvalm(p,A)

其中A為一個給定矩陣,

p=[anan-1…a1a0]為多項式系數(shù)降冪排列構成的向量,命令B=polyvalm(p,A)返回的矩陣B是下面的矩陣多項式的值

B=anAn+an-1An-1+…+a1A+a0I5.多項式卷積和去卷積conv(p,q)

計算多項式p和q的乘積,也可以認為是p和q的卷積。[q,r]=deconv(c,b)

計算多項式c除b。q是商多項式,r是殘數(shù)(余數(shù))多項式。

6.多項式求導見課本P1667.多項式曲線擬合見課本P1668.部分分式展開見課本P1669.一維內插已知函數(shù)y=f(x)在若干點xi的函數(shù)值yi=f(xi),i=0,1,…,n

一個插值問題就是求一簡單的函數(shù)p(x)滿足

p(xi)=yi,i=0,1,…,n

則p(x)為f(x)的插值函數(shù),而f(x)為被插值函數(shù)或插值原函數(shù),x0,x1,…xn為插值點,p(xi)=yi式為插值條件。多項式內插見課本P167。例:正弦曲線的插值示例。x=0:2:10;y=sin(x);xi=0:0.25:10;yi=interp1(x,y,xi,*spline’);plot(x,y,'o',xi,yi)

5.3范函分析

1.函數(shù)在MATLAB中的表示例:functiony=g(x)y=(5.*-6.4)./((x-1.3).^2+0.002)+(9.*x)./(x.^3+0.03)-...(x-0.4)./((x-0.92).^2+0.005);2.數(shù)學函數(shù)的繪圖用plot命令可以畫出函數(shù)的圖形:x=linspace(0,2);%生成向量xplot(x,g(x));%畫g(x)圖形grid;%畫格柵title('Theg(x)function')%給出圖標題或者使用fplot命令:fplot('g',[02]);%畫g(x)圖形grid;%畫格柵title('Theg(x)function')%給出圖標題3.函數(shù)極小值點和零值點(1)fmin命令

求單變量函數(shù)的最小值;格式:fmin(‘F’,x1,x2)

fmin(‘F’,x1,x2,options)

fmin(‘F’,x1,x2,options,p1,p2)

(2)fmins命令求多變量函數(shù)的最小值,同時它還要求有一個初始向量。格式:fmins(‘F’,x0)

fmins(‘F’,x0,options)(3)fzero命令求單變量函數(shù)的零點。格式:fzero('F',x)4.數(shù)值積分

常見的一元函數(shù)數(shù)值積分指令quad自適應辛普森積分sum等寬矩形法求定積分quadl自適應Lobatto積分trapz采用梯形法求定積分quad8牛頓8段積分fnint采用樣條函數(shù)求不定積分格式:[y,n]=quad('F',a,b,TOL)

[y,n]=quad8('F',a,b,TOL)

trapz(x,y)

例:用不同的方法來計算積分A.使用trapz命令。x1=linspace(0,1,5);x2=linspace(0,1,10);y1=exp(-x1.^2);y2=exp(-x2.^2);formatlong;intergal1=trapz(x1,y1),intergal2=trapz(x2,y2)B.使用quad命令。functiony=intergrand(x)y=exp(-x.^2);integralStd=quad('intergrand',0,1)integralTol=quad('intergrand',0,1,0.000001)(2)雙重定積分格式:

I=dblquad('F',x_m,x_M,y_m,y_M,TOL)

例:計算二重積分functiony=integrand2(x,y)y=exp(-x.^2-y.^2);

dblquad('integrand2',0,1,0,1)

TheMathWorks公司的網(wǎng)站上免費下載數(shù)值積分工具箱(NIT),用其中的函數(shù)quad2dggen()來求解(3)inline()函數(shù)

例:求f=inline('1/sqrt(2*pi)*exp(-x.^2/2)','x')[y,n]=quad(f,-8,8)5.3線形代數(shù)1.MATLAB中的矩陣2.向量的范數(shù)和矩陣的范數(shù)(1)向量的范數(shù)是一個標量,用來衡量向量的長度。向量x=[x1,x2,…,xn],則它的p范數(shù)定義為

常用的范數(shù)p=2時,2范數(shù)/歐幾里德范數(shù)/歐拉范數(shù)

函數(shù)為norm(x)或norm(x,2)p→∞時,∞范數(shù)/最大值范數(shù)

函數(shù)為norm(x,inf)p=1時,1范數(shù)

函數(shù)為norm(x,1)如果要求p范數(shù),函數(shù)為norm(x,p)norm(x,-inf)

,求向量x的元素的絕對值的最小值。(2)矩陣的范數(shù)用來衡量矩陣大小

設A是一個n*n的方陣,則它的p范數(shù)定義為:常用的范數(shù)p=1時,1范數(shù),即A的列向量之和的最大值,函數(shù)為norm(A,1)。p=2時,2范數(shù),即為A矩陣的最大奇異值,函數(shù)為norm(A,2)或norm(A)。無窮范數(shù),即A的行向量之和的最大值,函數(shù)為norm(A,inf)。3.線性代數(shù)方程求解線性方程為AX=B或XA=B:當A為方陣時,解為X=A\B或X=B/A。

當矩陣A非奇異時,線形方程有唯一解;當A奇異時,線形方程的解要么不存在,要么不唯一。當A為(m*n)維矩陣時,如果m>n,超定方程,最小二乘法來求解。如果n>m,欠定方程組,通常有無窮組解。

例:

A=[111;123],b=[23]’

%則Ax=b為欠定方程

x=A\b數(shù)據(jù)建模數(shù)據(jù)建模的兩大類方法:一類是插值方法,嚴格遵從數(shù)據(jù);另一類是擬合方法,允許在數(shù)據(jù)點上有誤差,但要求達到某種指標最小化。常用的兩種誤差指標:一種按照誤差向量的∞范數(shù)定義,稱為一致數(shù)據(jù)擬合。另一種按照誤差向量的2范數(shù)定義,稱為最小二乘數(shù)據(jù)擬合。4.矩陣求逆det(A)

求方陣A的行列式。rank(A)

求A的秩。inv(A)

求方陣A的逆矩陣。pinv(A)

求矩陣A的偽逆。

如果A是m×n的矩陣,則偽逆的大小為n×m。

對于非奇矩陣A來說,有pinv(A)=inv(A)。偽逆:如果A與X互為偽逆陣,則有AXA=A、XAX=X、且AX和XA是對稱陣。例:A=[123;456;789];rank(A)X=pinv(A)A*X*AX*A*XA*XX*Atrace(A)

求矩陣A的跡,也就是對角線元素之和。[V,D]=eig(A)

返回方陣A的特征值和特征向量。

其中D為A的特征值構成的對角陣,每個特征值對應的V的列為屬于該特征值的一個特征向量。

如果只有一個返回變量,則得到特征值構成的列向量。5.LU、QR分解

LU分解:令A=LU,

其中U是一個上三角矩陣,

L是一個帶有單位對角線的下三角矩陣。

Ax=b→LUx=b→Ly=b①

Ux=y②若得到L、U兩個三角陣后,

y=L\b,x=U\y,即x=U\(L\b)。正交陣:如果方陣A滿足AA’=A’A=I。

QR分解:假設A是n階方陣,那么A就可以分解成A=QR。

其中Q是一個正交矩陣,

R是一個大小和A相同的上三角矩陣。6.矩陣函數(shù)根據(jù)級數(shù)展開定義的

expm(A)

矩陣指數(shù)logm(A)

矩陣對數(shù)sqrtm(A)

矩陣開方funm(A,’funname’)

任意矩陣函數(shù)例如

7.特征值

見課本P1638.奇異值分解奇異值分解:矩陣A,

m*n階,分解成A=USVT,其中U是m階正交陣,V是個n階正交陣,S為如下形式的m*n階對角陣其對角線元素非負,且降序排列,即。奇異值分解的函數(shù)

[U,S,V]=svd(A)病態(tài)問題:矩陣中某個參數(shù)有一微小的變化將嚴重影響到原矩陣的參數(shù)。

例:

x1=1.220,x2=-0.3084,x3=2.298X1=1X2=1X3=1條件數(shù):矩陣最大的奇異值σmax與最小的奇異值σmin的比值稱為矩陣的條件數(shù),記作cond{A},計算條件數(shù)的函數(shù)cond(A)。條件數(shù)就反映了對參數(shù)數(shù)據(jù)誤差的敏感性程度。條件數(shù)很大的數(shù)值問題即為病態(tài)問題。5.5數(shù)據(jù)分析與統(tǒng)計概率統(tǒng)計的用途氣象預報、水文預報、地震預報以及產品的抽樣驗收研制新產品---進行試驗設計和數(shù)據(jù)處理工程可靠性研究---估計出系統(tǒng)使用的可靠性及平均壽命自動控制原理---給出數(shù)學模型通信工程----提高系統(tǒng)的抗干擾性和分辨率

常用的概率統(tǒng)計軟件SASMATLAB----StatisticToolbox

注意:MATLAB按列操作的特點,對于要進行數(shù)據(jù)分析的矩陣,每一列代表一個變量的多個采樣值,即列數(shù)對應于變量數(shù),行數(shù)代表對每個變量的采樣點數(shù)。1.數(shù)據(jù)比較max

求隨機變量的最大值元素。nanmax

求隨機變量的忽略NaN的最大值元素。min

求隨機變量的最小值元素。nanmin

求隨機變量的忽略NaN的最小值元素。median

求隨機變量的中值。nanmedian

求隨機變量的忽略NaN的中值。mad

求隨機變量的絕對差分平均值。sort

對隨機變量有小到大升序排列。sortrows

對隨機矩陣按首行進行行排序。range

求隨機變量的值范圍,即最大值與最小值的差。例:A=[431;862;-301]B=max(A)C=median(A)D=mad(A)E=sort(A)F=sortrows(A)G=range(A)2.簡單數(shù)學期望和幾種均值數(shù)學期望

當給定的一組樣本值時

mean

求隨機變量的算術平均值函數(shù)。nanmean

求隨機變量的忽略NaN的平均值。geomean

求隨機變量的幾何平均,即例:A=[123;456;78NaN]B=mean(A)C=nanmean(A)D=geomean(A)例:

求E(x)和

溫馨提示

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

評論

0/150

提交評論