第二周1 MATLAB數(shù)據(jù)分析與多項式計算_第1頁
第二周1 MATLAB數(shù)據(jù)分析與多項式計算_第2頁
第二周1 MATLAB數(shù)據(jù)分析與多項式計算_第3頁
第二周1 MATLAB數(shù)據(jù)分析與多項式計算_第4頁
第二周1 MATLAB數(shù)據(jù)分析與多項式計算_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MATLAB數(shù)據(jù)分析與多項式計算 1 數(shù)據(jù)統(tǒng)計處理 2 數(shù)據(jù)插值 3 曲線擬合 4 離散傅立葉變換 5 多項式計算,1 數(shù)據(jù)統(tǒng)計處理 1.1 最大值和最小值 MATLAB提供的求數(shù)據(jù)序列的最大值和最小值的函數(shù)分別為max和min,兩個函數(shù)的調(diào)用格式和操作過程類似。 1求向量的最大值和最小值 求一個向量X的最大值的函數(shù)有兩種調(diào)用格式,分別是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含復(fù)數(shù)元素,則按模取最大值。,(2) y,I=max(X):返回向量X的最大值存入y,最大值的序號存入I,如果X中包含復(fù)數(shù)元素,則按模取最大值。 求向量X的最小值的函數(shù)是min(X),用法和ma

2、x(X)完全相同。 例-1 求向量x的最大值。 命令如下: x=-43,72,9,16,23,47; y=max(x) %求向量x中的最大值 y,l=max(x) %求向量x中的最大值及其該元素的位置,2求矩陣的最大值和最小值 求矩陣A的最大值的函數(shù)有3種調(diào)用格式,分別是: (1) max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。 (2) Y,U=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號。,(3) max(A,dim):dim取1或2。dim取1時,該函數(shù)和max(A)完全相同;dim取2時,該函數(shù)返回一個列向量,其第i個

3、元素是A矩陣的第i行上的最大值。 求最小值的函數(shù)是min,其用法和max完全相同。 例-2 分別求34矩陣x中各列和各行元素中的最大值,并求整個矩陣的最大值和最小值。,3兩個向量或矩陣對應(yīng)元素的比較 函數(shù)max和min還能對兩個同型的向量或矩陣進(jìn)行比較,調(diào)用格式為: (1) U=max(A,B):A,B是兩個同型的向量或矩陣,結(jié)果U是與A,B同型的向量或矩陣,U的每個元素等于A,B對應(yīng)元素的較大者。 (2) U=max(A,n):n是一個標(biāo)量,結(jié)果U是與A同型的向量或矩陣,U的每個元素等于A對應(yīng)元素和n中的較大者。 min函數(shù)的用法和max完全相同。 例-3 求兩個23矩陣x, y所有同一位置

4、上的較大元素構(gòu)成的新矩陣p。,1.2 求和與求積 數(shù)據(jù)序列求和與求積的函數(shù)是sum和prod,其使用方法類似。設(shè)X是一個向量,A是一個矩陣,函數(shù)的調(diào)用格式為: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘積。 sum(A):返回一個行向量,其第i個元素是A的第i列的元素和。,prod(A):返回一個行向量,其第i個元素是A的第i列的元素乘積。 sum(A,dim):當(dāng)dim為1時,該函數(shù)等同于sum(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素之和。 prod(A,dim):當(dāng)dim為1時,該函數(shù)等同于prod(A);當(dāng)dim為2時,返回

5、一個列向量,其第i個元素是A的第i行的各元素乘積。 例-4 求矩陣A的每行元素的乘積和全部元素的乘積。,1.3 平均值和中值 求數(shù)據(jù)序列平均值的函數(shù)是mean,求數(shù)據(jù)序列中值的函數(shù)是median。兩個函數(shù)的調(diào)用格式為: mean(X):返回向量X的算術(shù)平均值。 median(X):返回向量X的中值。 mean(A):返回一個行向量,其第i個元素是A的第i列的算術(shù)平均值。 median(A):返回一個行向量,其第i個元素是A的第i列的中值。 mean(A,dim):當(dāng)dim為1時,該函數(shù)等同于mean(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的算術(shù)平均值。 median(A

6、,dim):當(dāng)dim為1時,該函數(shù)等同于median(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的中值。 例-5 分別求向量x與y的平均值和中值。,1.4 累加和與累乘積 在MATLAB中,使用cumsum和cumprod函數(shù)能方便地求得向量和矩陣元素的累加和與累乘積向量,函數(shù)的調(diào)用格式為: cumsum(X):返回向量X累加和向量。 cumprod(X):返回向量X累乘積向量。 cumsum(A):返回一個矩陣,其第i列是A的第i列的累加和向量。 cumprod(A):返回一個矩陣,其第i列是A的第i列的累乘積向量。 cumsum(A,dim):當(dāng)dim為1時,該函數(shù)等同

7、于cumsum(A);當(dāng)dim為2時,返回一個矩陣,其第i行是A的第i行的累加和向量。 cumprod(A,dim):當(dāng)dim為1時,該函數(shù)等同于cumprod(A);當(dāng)dim為2時,返回一個向量,其第i行是A的第i行的累乘積向量。 例-6 求s的值。,1.5 標(biāo)準(zhǔn)方差與相關(guān)系數(shù) 1求標(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)用格式為: Y=std(A,flag,dim) 其中dim取1或2。當(dāng)dim=1時,求各列元素的標(biāo)準(zhǔn)

8、方差;當(dāng)dim=2時,則求各行元素的標(biāo)準(zhǔn)方差。flag取0或1,當(dāng)flag=0時,按1所列公式計算標(biāo)準(zhǔn)方差,當(dāng)flag=1時,按2所列公式計算標(biāo)準(zhǔn)方差。缺省flag=0,dim=1。 例-7 對二維矩陣x,從不同維方向求出其標(biāo)準(zhǔn)方差。,2相關(guān)系數(shù) MATLAB提供了corrcoef函數(shù),可以求出數(shù)據(jù)的相關(guān)系數(shù)矩陣。corrcoef函數(shù)的調(diào)用格式為: corrcoef(X):返回從矩陣X形成的一個相關(guān)系數(shù)矩陣。此相關(guān)系數(shù)矩陣的大小與矩陣X一樣。它把矩陣X的每列作為一個變量,然后求它們的相關(guān)系數(shù)。 corrcoef(X,Y):在這里,X,Y是向量,它們與corrcoef(X,Y)的作用一樣。,例-

9、8 生成滿足正態(tài)分布的100005隨機(jī)矩陣,然后求各列元素的均值和標(biāo)準(zhǔn)方差,再求這5列隨機(jī)數(shù)據(jù)的相關(guān)系數(shù)矩陣。 命令如下: X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X),1.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中位置。,例-9 對二維矩陣做各種排序。

10、2 數(shù)據(jù)插值 2.1 一維數(shù)據(jù)插值 在MATLAB中,實現(xiàn)這些插值的函數(shù)是interp1,其調(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、cubic、spline。,注意:X1的取值范圍不能超出X的給定范圍,否則,會給出“NaN”錯誤。 例-10 用不同的插值方法計算在/2點的值。 MATLAB中有一個專門的3次樣條插值函數(shù)Y1=spline(X,

11、Y,X1),其功能及使用方法與函數(shù)Y1=interp1(X,Y,X1,spline)完全相同。,例-11 某觀測站測得某日6:00時至18:00時之間每隔2小時的室內(nèi)外溫度(),用3次樣條插值分別求得該日室內(nèi)外6:30至17:30時之間每隔2小時各點的近似溫度()。 設(shè)時間變量h為一行向量,溫度變量t為一個兩列矩陣,其中第一列存放室內(nèi)溫度,第二列儲存室外溫度。命令如下: h =6:2:18; t=18,20,22,25,30,28,24;15,19,24,28,34,32,30; XI =6.5:2:17.5 YI=interp1(h,t,XI,spline) %用3次樣條插值計算,2.2 二

12、維數(shù)據(jù)插值 在MATLAB中,提供了解決二維插值問題的函數(shù)interp2,其調(diào)用格式為: Z1=interp2(X,Y,Z,X1,Y1,method) 其中X,Y是兩個向量,分別描述兩個參數(shù)的采樣點,Z是與參數(shù)采樣點對應(yīng)的函數(shù)值,X1,Y1是兩個向量或標(biāo)量,描述欲插值的點。Z1是根據(jù)相應(yīng)的插值方法得到的插值結(jié)果。 method的取值與一維插值函數(shù)相同。X,Y,Z也可以是矩陣形式。 同樣,X1,Y1的取值范圍不能超出X,Y的給定范圍,否則,會給出“NaN”錯誤。,例-12 設(shè)z=x2+y2,對z函數(shù)在0,10,2區(qū)域內(nèi)進(jìn)行插值。 例-13 某實驗對一根長10米的鋼軌進(jìn)行熱源的溫度傳播測試。用x表

13、示測量點0:2.5:10(米),用h表示測量時間0:30:60(秒),用T表示測試所得各點的溫度()。試用線性插值求出在一分鐘內(nèi)每隔20秒、鋼軌每隔1米處的溫度TI。 命令如下: x=0:2.5:10; h=0:30:60; T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41; xi=0:10; hi=0:20:60; TI=interp2(x,h,T,xi,hi),3 曲線擬合 在MATLAB中,用polyfit函數(shù)來求得最小二乘擬合多項式的系數(shù),再用polyval函數(shù)按所得的多項式計算所給出的點上的函數(shù)近似值。 polyfit函數(shù)的調(diào)用格式為: P,S=p

14、olyfit(X,Y,m) 函數(shù)根據(jù)采樣點X和采樣點函數(shù)值Y,產(chǎn)生一個m次多項式P及其在采樣點的誤差向量S。其中X,Y是兩個等長的向量,P是一個長度為m+1的向量,P的元素為多項式系數(shù)。 polyval函數(shù)的功能是按多項式的系數(shù)計算x點多項式的值,將在5.3節(jié)中詳細(xì)介紹。,例-14 已知數(shù)據(jù)表t,y,試求2次擬合多項式p(t),然后求ti=1,1.5,2,2.5,9.5,10各點的函數(shù)近似值。,4 離散傅立葉變換 4.1 離散傅立葉變換算法簡要 4.2 離散傅立葉變換的實現(xiàn) 一維離散傅立葉變換函數(shù),其調(diào)用格式與功能為: (1) fft(X):返回向量X的離散傅立葉變換。設(shè)X的長度(即元素個數(shù))

15、為N,若N為2的冪次,則為以2為基數(shù)的快速傅立葉變換,否則為運(yùn)算速度很慢的非2冪次的算法。對于矩陣X,fft(X)應(yīng)用于矩陣的每一列。,(2) fft(X,N):計算N點離散傅立葉變換。它限定向量的長度為N,若X的長度小于N,則不足部分補(bǔ)上零;若大于N,則刪去超出N的那些元素。對于矩陣X,它同樣應(yīng)用于矩陣的每一列,只是限定了向量的長度為N。 (3) fft(X,dim)或fft(X,N,dim):這是對于矩陣而言的函數(shù)調(diào)用格式,前者的功能與FFT(X)基本相同,而后者則與FFT(X,N)基本相同。只是當(dāng)參數(shù)dim=1時,該函數(shù)作用于X的每一列;當(dāng)dim=2時,則作用于X的每一行。,值得一提的是

16、,當(dāng)已知給出的樣本數(shù)N0不是2的冪次時,可以取一個N使它大于N0且是2的冪次,然后利用函數(shù)格式fft(X,N)或fft(X,N,dim)便可進(jìn)行快速傅立葉變換。這樣,計算速度將大大加快。 相應(yīng)地,一維離散傅立葉逆變換函數(shù)是ifft。ifft(F)返回F的一維離散傅立葉逆變換;ifft(F,N)為N點逆變換;ifft(F,dim)或ifft(F,N,dim)則由N或dim確定逆變換的點數(shù)或操作方向。,例-15 給定數(shù)學(xué)函數(shù) x(t)=12sin(210t+/4)+5cos(240t) 取N=128,試對t從01秒采樣,用fft作快速傅立葉變換,繪制相應(yīng)的振幅-頻率圖。 在01秒時間范圍內(nèi)采樣12

17、8點,從而可以確定采樣周期和采樣頻率。由于離散傅立葉變換時的下標(biāo)應(yīng)是從0到N-1,故在實際應(yīng)用時下標(biāo)應(yīng)該前移1。又考慮到對離散傅立葉變換來說,其振幅| F(k)|是關(guān)于N/2對稱的,故只須使k從0到N/2即可。,程序如下: N=128; % 采樣點數(shù) T=1; % 采樣時間終點 t=linspace(0,T,N); % 給出N個采樣時間ti(I=1:N) x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); % 求各采樣點樣本值x dt=t(2)-t(1); % 采樣周期 f=1/dt; % 采樣頻率(Hz) X=fft(x); % 計算x的快速傅立葉變換X F

18、=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1) f=f*(0:N/2)/N; % 使頻率軸f從零開始 plot(f,abs(F),-*) % 繪制振幅-頻率圖 xlabel(Frequency); ylabel(|F(k)|),5 多項式計算 5.1 多項式的四則運(yùn)算 1多項式的加減運(yùn)算 2多項式乘法運(yùn)算 函數(shù)conv(P1,P2)用于求多項式P1和P2的乘積。這里,P1、P2是兩個多項式系數(shù)向量。 例-16 求多項式x4+8x3-10與多項式2x2-x+3的乘積。,3多項式除法 函數(shù)Q,r=deconv(P1,P2)用于對多項式P1和P2作除法運(yùn)算。其中Q返回多項式P

19、1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項式系數(shù)向量。 deconv是conv的逆函數(shù),即有P1=conv(P2,Q)+r。,例-17 求多項式x4+8x3-10除以多項式2x2-x+3的結(jié)果。 5.2 多項式的導(dǎo)函數(shù) 對多項式求導(dǎo)數(shù)的函數(shù)是: p=polyder(P):求多項式P的導(dǎo)函數(shù) p=polyder(P,Q):求PQ的導(dǎo)函數(shù) p,q=polyder(P,Q):求P/Q的導(dǎo)函數(shù),導(dǎo)函數(shù)的分子存入p,分母存入q。 上述函數(shù)中,參數(shù)P,Q是多項式的向量表示,結(jié)果p,q也是多項式的向量表示。,例-18 求有理分式的導(dǎo)數(shù)。 命令如下: P=1; Q=1,0,5; p,q=polyder(P,Q),5.3 多項式的求值 MATLAB提供了兩種求多項式值的函數(shù):polyval與polyvalm,它們的輸入?yún)?shù)均為多項式系數(shù)向量P和自變量x。兩者的區(qū)別在于前者是代數(shù)多項式求值,而后者是矩陣多項式求值。,1代數(shù)多項式求值 polyval函數(shù)用來求代數(shù)多項式的值,其調(diào)用格式為: Y=polyval(P,x) 若x為一數(shù)值,則求多項式在該點的值;若x為向量或矩陣,則對向量或矩陣中的每個元素求其多項式的值。 例-19 已知多項式x4+8x3-10,分別取x=1.2和一個23矩陣為自變量計算該多項式的值。,2矩陣多項式求值 polyvalm函數(shù)用來求矩陣多項式的值

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論