MATLAB語言及應(yīng)用-第三章.ppt_第1頁
MATLAB語言及應(yīng)用-第三章.ppt_第2頁
MATLAB語言及應(yīng)用-第三章.ppt_第3頁
MATLAB語言及應(yīng)用-第三章.ppt_第4頁
MATLAB語言及應(yīng)用-第三章.ppt_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,MATLAB語言及應(yīng)用,數(shù)據(jù)處理與多項式計算 數(shù)據(jù)統(tǒng)計與分析 數(shù)值插值 曲線擬合 多項式計算 函數(shù)的最大值與最小值,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,數(shù)據(jù)統(tǒng)計與分析 1. 求矩陣最大和最小元素 (1)求向量的最大最小元素 y=max(X) 返回向量X的最大元素存入y。 y,I=max(X) 返回向量X的最大元素存入y,最大元素的序號存入I。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,(2)求矩陣的最大和最小元素 max(A) 返回一個行向量,向量的第i個元素是A矩陣的第i列上的最大元素。 Y,U=max(A) 返回兩個行向量,Y向量記錄A的每列的最大元素,U向量記錄每列最大元素的行號。 max(A,dim) dim取1或2。dim取1時,該函數(shù)和max(A)完全相同。dim取2時,該函數(shù)返回一個列向量,其第i個元素是A矩陣的第i行上的最大元素。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,(3)兩個向量或矩陣對應(yīng)元素的比較 U=max(A,B) A,B是兩個同型的向量或矩陣。結(jié)果U是與A,B同型的向量或矩陣,U的每個元素等于A,B對應(yīng)元素的較大者。 U=max(A,n) n是一個標(biāo)量。結(jié)果U是與A同型的向量或矩陣,U的每個元素等于A對應(yīng)元素和n中的較大者。 min函數(shù)的用法和max完全相同。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例1求矩陣A的每行及每列的最大和最小元素,并求整個矩陣的最大和最小元素。 命令如下: A=13,-56,78;25,63,-235;78,25,563;1,0,-1; max(A,2) %求每行最大元素 min(A,2) %求每行最小元素 max(A) %求每列最大元素 min(A) %求每列最小元素 max(max(A) %求整個矩陣的最大元素 min(min(A) %求整個矩陣的最小元素,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,2. 求矩陣的平均值和中值 求矩陣和向量元素的平均值的函數(shù)是mean,求中值的函數(shù)是median。它們的調(diào)用方法和max函數(shù)完全相同。 3. 矩陣元素求和與求積 矩陣和向量求和與求積的基本函數(shù)是sum和prod,其使用方法和max類似。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例2 求矩陣A的每行元素的乘積和全部元素的乘積。 命令如下: A=1,2,3,4;5,6,7,8;9,10,11,12; S=prod(A,2) prod(S) %求A的全部元素的乘積,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,4. 矩陣元素累加和與累乘積 MATLAB中,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量,函數(shù)的用法和sum及prod相同 例3 求向量X=(1!,2!,3!,10!)。 命令如下: X=cumprod(1:10),第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,5. 標(biāo)準(zhǔn)方差 MATLAB中,提供了計算數(shù)據(jù)序列的標(biāo)準(zhǔn)方差的函數(shù)std。對于向量X,std(X)返回一個標(biāo)準(zhǔn)方差。對于矩陣A,std(A)返回一個行向量,它的各個元素便是矩陣A各列的標(biāo)準(zhǔn)方差。std函數(shù)的一般調(diào)用格式為: std(A) 例3 產(chǎn)生86階的正態(tài)分布隨機數(shù)矩陣R,求其各列的平均值和標(biāo)準(zhǔn)方差,并求全體的平均值和標(biāo)準(zhǔn)方差。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,6. 元素排序 MATLAB中對向量X是排序函數(shù)是sort(X),函數(shù)返回一個對X中的元素按升序排列的新向量。 sort函數(shù)也可以對矩陣A的各列(或行)重新排序,其調(diào)用格式為: Y,I=sort(A,dim) 其中dim指明對A的列還是行進(jìn)行排序,若dim=1,則按列排,若dim=2,則按行排。Y是排序后的矩陣,而I記錄Y中的元素在A中位置。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例4 對矩陣做各種排序。 命令如下: A=1,-8,5;4,12,6;13,7,-13; sort(A) %對A的每列按升序排序 -sort(-A,2) %對A的每行按降序排序 X,I=sort(A) %對A按列排序,并將每個元素所在行號送矩陣I,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,數(shù)值插值 1. 一維數(shù)值插值 interp1函數(shù)調(diào)用格式為: Y1=interp1(X,Y,X1,method) 函數(shù)根據(jù)X、Y的值,計算函數(shù)在X1處的值。X、Y是兩個等長的已知向量,分別描述采樣點和樣本值,X1是一個向量或標(biāo)量,描述欲插值的點,Y1是一個與X1等長的插值結(jié)果。method是插值方法,允許的取值有l(wèi)inear(線性插值)、nearest(最近插值)、spline(三次樣條插值)、cubic(三次多項式插值),缺省值是linear。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例5 用不同的插值方法計算sin(x)在/2點的值。 這是一維插值問題。在MATLAB命令窗口,輸入命令: X=0:0.2:pi;Y=sin(X); %給出X、Y interp1(X,Y,pi/2) %用缺省方法計算sin(/2) interp1(X,Y,pi/2,nearest) %最近方法計算sin(/2) interp1(X,Y,pi/2,linear) %線性方法計算sin(/2) interp1(X,Y,pi/2,spline) %三次樣條方法計算sin(/2) interp1(X,Y,pi/2,cubic) %三次多項式方法計算sin(/2),第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,MATLAB中有一個專門的三次樣條插值函數(shù)Y1=spline(X,Y,X1),其功能及使用方法與函數(shù)Y1=interp1(X,Y,X1,spline)完全相同。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,2. 二維數(shù)值插值 MATLAB中,提供了解決二維插值問題的函數(shù)。其調(diào)用格式為: Z1=interp2(X,Y,Z,X1,Y1,method) 其中X、Y是兩個向量,分別描述兩個參數(shù)的采樣點,Z是與參數(shù)采樣點對應(yīng)的采樣變量的樣本值,X1、Y1是兩個向量或標(biāo)量,描述欲插值的點。method的取值與一維插值函數(shù)相同。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例6 設(shè)Z=x2+y2,對Z函數(shù)在(0,1)(0,2)區(qū)域內(nèi)進(jìn)行插值。命令如下: x=0:0.1:10;y=0:0.2:20; X,Y=meshgrid(x,y); Z=X.2+Y.2; interp2(x,y,Z,0.5,0.5) %對函數(shù)在(0.5,0.5)點進(jìn)行插值 interp2(x,y,Z,0.5 0.6,0.4) %對函數(shù)在(0.5,0.4)點和(0.6,0.4)點進(jìn)行插值 interp2(x,y,Z,0.5 0.6,0.4 0.5) %對函數(shù)在(0.5,0.4)點和(0.6,0.5)點進(jìn)行插值 interp2(x,y,Z,0.5 0.6,0.4 0.5)%對函數(shù)在(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0.6,0.5)點進(jìn)行插值,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,3. 三維數(shù)值插值 對三維函數(shù)插值的函數(shù)是interp3,其使用方法和interp2相同。其調(diào)用格式為: W1=interp3(X,Y,Z,W,X1,Y1,Z1,method) 函數(shù)返回三維插值結(jié)果。其中X、Y、Z是三個向量,分別描述三個參數(shù)的采樣點,W是與參數(shù)采樣點對應(yīng)的采樣變量的樣本值,X1、Y1、Z1是三個向量或標(biāo)量,描述欲插值的點。method是插值方法,可選,其缺省值是 line。method的取值與一、二維插值函數(shù)相同。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,曲線擬合 MATLAB中,提供了解決使用最小二乘法進(jìn)行曲線擬合的函數(shù)。調(diào)用格式為: P,S=polyfit(X,Y,m) 函數(shù)根據(jù)采樣點X和采樣點函數(shù)值Y,產(chǎn)生一個m次多項式P及其在采樣點的誤差向量S。 其中X、Y是兩個等長的向量,P是一個長度為m+1的向量。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例7 用一個5次多項式在區(qū)間0,2內(nèi)逼近函數(shù)sin(x)。 命令如下: X=linspace(0,2*pi,50);Y=sin(X); P,S=polyfit(X,Y,5) %得到5次多項式的系數(shù)和誤差 plot(X,Y,k*,X,polyval(P,X),k-),第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,多項式計算 1. 多項式的建立 已知一個多項式的全部根X求多項式系數(shù)的函數(shù)是poly(X),該函數(shù)返回以X為全部根的一個多項式P,當(dāng)X是一個長度為m的向量時,P是一個長度為m+1的向量。 2. 多項式求根 求多項式p(x)的根的函數(shù)是roots(P),這里,P是p(x)的系數(shù)向量,該函數(shù)返回方程p(x)=0的全部根(含重根,復(fù)根)。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,3. 多項式求值 求多項式p(x)在某點或某些點的函數(shù)值的函數(shù)是polyval(P,x)。若x為一數(shù)值,則求多項式在該點的值;若x為向量或矩陣,則對向量或矩陣中的每個元素求其多項式的值。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例8 已知一個多項式,計算: (1)計算f(x)=0 的全部根。 (2)由方程f(x)=0的根構(gòu)造一個多項式g(x),并與f(x)進(jìn)行對比。 (3)計算f(5)、f(7.8)、f(9.6)、f(12.3)的值。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,命令如下: P=3,0,4,-5,-7.2,5; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多項式g(x) X0=5,7.8,9.6,12.3; f=polyval(P,X0) 練習(xí):把1開5次方,并求其全部5個根。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,4. 多項式的四則運算 (1)多項式的加減法 (2)多項式的乘法 函數(shù)conv(P1,P2)用于求多項式P1和P2的乘積。 (3)多項式的除法 函數(shù)Q,r=deconv(P1,P2)用于對多項式P1和P2作除法運算。其中Q返回多項式P1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項式系數(shù)向量。 deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例9 設(shè)有兩個多項式, 計算: (1)求f(x)+g(x)、f(x)-g(x)。 (2)求f(x)g(x)、f(x)/g(x)。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,在MATLAB命令窗口,輸入命令: f=3,-5,2,-7,5,6;g=3,5,-3;g1=0,0,0,g; f+g1 %求f(x)+g(x) f-g1 %求f(x)-g(x) conv(f,g) %求f(x)*g(x) Q,r=deconv(f,g) %求f(x)/g(x),商式送Q,余式送r。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,5. 多項式的導(dǎo)函數(shù) 對多項式求導(dǎo)數(shù)的函數(shù)是: p=polyder(P) 求多項式P的導(dǎo)函數(shù) p=polyder(P,Q) 求P*Q的導(dǎo)函數(shù) p,q=polyder(P,Q) 求P/Q的導(dǎo)函數(shù),導(dǎo)函數(shù)的分子存入p,分母存入q。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,函數(shù)的最大值與最小值 MATLAB中用于求最小值的函數(shù)是: fmin(f,a,b) 求單變量函數(shù)f(x)在區(qū)間(a,b)上的最小值。 fmins(F,X0) 求多變量函數(shù)F(x)在估計值X0附近的最小值點。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,MATLAB沒有專門提供求函數(shù)最大值點的函數(shù),但只要注意到-f(x)在區(qū)間(a,b)上的最小值點就是f(x)在(a,b)的最大值點,所以fmin(-f,a,b)返回函數(shù)f(x)在區(qū)間(a,b)上的最大值。 例10 求函數(shù)f(x)在區(qū)間(-10,1)和(1,10)上的最小值點。,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,首先建立函數(shù)文件fx.m: function f=f(x) f=x-1/x+5; return 再在MATLAB命令窗口,輸入命令: fmin(fx,-10,-1) %求函數(shù)在區(qū)間(-10,-1)內(nèi)的最小值點 fmin(f,1,10) %求函數(shù)在區(qū)間(1,10)內(nèi)的最小值點。注意函數(shù)名f不用加,第3章 MATLAB 在現(xiàn)代科學(xué)計算中的應(yīng)用,例11 設(shè)有函數(shù)f(x,y,z),求函數(shù)f在(0.5,0.5,0.5)附近的最小值。,第3章 MATLAB 在現(xiàn)代科學(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論