版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9講MATLAB知識(shí)回顧數(shù)字信號(hào)處理與Matlb仿真題型一、填空:10個(gè)題,每空2分,共20分;二、選擇:5個(gè)題,每題2分,共10分;三、分析與計(jì)算題(共4題,每題6分,共24分)三、綜合編程題(共4題,共46分)引言MATLAB軟件介紹:MATLAB是矩陣實(shí)驗(yàn)室(MatrixLaboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。版本更新4Matlab的特點(diǎn)與功能
Matlab具有很強(qiáng)的數(shù)值計(jì)算功能
Matlab以矩陣作為數(shù)據(jù)操作的基本單位,但無(wú)需預(yù)先指定
矩陣維數(shù)(動(dòng)態(tài)定維)按照IEEE的數(shù)值計(jì)算標(biāo)準(zhǔn)進(jìn)行計(jì)算提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率
Matlab命令與數(shù)學(xué)中的符號(hào)、公式非常接近,可讀性強(qiáng),
容易掌握
Matlab是一個(gè)交互式軟件系統(tǒng)輸入一條命令,立即就可以得出該命令的結(jié)果5
Matlab符號(hào)計(jì)算功能Matlab和著名的符號(hào)計(jì)算語(yǔ)言Maple相結(jié)合
Matlab的編程功能Matlab具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z(yǔ)言特征,而且簡(jiǎn)單易學(xué)、編程效率高。
Matlab的繪圖功能Matlab提供豐富的繪圖命令,
很方便實(shí)現(xiàn)數(shù)據(jù)的可視化Matlab的特點(diǎn)與功能6
Matlab豐富的工具箱(toolbox)根據(jù)專門領(lǐng)域中的特殊需要而設(shè)計(jì)的各種可選工具箱
Matlab的Simulink動(dòng)態(tài)仿真集成環(huán)境提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動(dòng)仿真程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸出方式來(lái)觀察仿真結(jié)果等功能。SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification…
…Matlab的特點(diǎn)與功能7主要應(yīng)用數(shù)值分析數(shù)值和符號(hào)計(jì)算工程與科學(xué)繪圖控制系統(tǒng)的設(shè)計(jì)與仿真數(shù)字圖像處理數(shù)字信號(hào)處理通訊系統(tǒng)設(shè)計(jì)與仿真財(cái)務(wù)與金融工程89界面介紹1011一、命令窗的常用控制指令指令含義指令含義cd設(shè)置當(dāng)前工作目錄。exit關(guān)閉/退出MATLABclf清除圖形窗quit關(guān)閉/退出MATLABclc清除指令窗中顯示內(nèi)容more使其后的顯示內(nèi)容分頁(yè)進(jìn)行clear清除MATLAB工作空間中保存的變量return返回到上層調(diào)用程序;結(jié)束鍵盤模式dir列出指定目錄下的文件和子目錄清單type顯示指定M文件的內(nèi)容edit打開M文件編輯器which指出其后文件所在的目錄11二、MATLAB基本操作變量與矩陣矩陣及元素的賦值矩陣運(yùn)算1、變量---命名規(guī)則變量名是對(duì)字母大小寫敏感的。如:變量myvar和MyVar是不同變量。sin是MATLAB定義的正弦名,但SIN、Sin等都不是。變量名的第一個(gè)字母必須是英文字母,最多可包含31個(gè)字符(英文、數(shù)字和下劃線)。如:myvar201合法。變量名中不得含空格、標(biāo)點(diǎn),但可以有下連符號(hào)如:變量名my_var_201合法的,且讀起來(lái)更方便。
而my,var201不合法。132.矩陣及元素的賦值Matlab中的變量或常量都代表矩陣,標(biāo)量看作1×1階的矩陣賦值語(yǔ)句:變量=表達(dá)式(或數(shù))
a=[123;456;789]元素的輸入可以用表達(dá)式代替
x=[-1.3,sqrt(3),(1+2+3)/5*4]矩陣的值放在方括號(hào)中,同一行中各元素之間用逗號(hào)或空格分開,不同的行則以分號(hào)隔開,此時(shí)會(huì)立即顯示運(yùn)算結(jié)果。如果不希望顯示結(jié)果,以分號(hào)結(jié)尾,此時(shí)結(jié)果在workspace可以看到。14變量的元素用()中的數(shù)字標(biāo)明,一維矩陣中的元素用一個(gè)下標(biāo)表示,二維矩陣可有兩個(gè)下標(biāo)數(shù),以逗號(hào)隔開。三維或更高維的矩陣可有三個(gè)或更多下標(biāo)。可單獨(dú)給元素賦值
x(2)=1.7321a(2,3)=6linspace(a,b,n)%在a和b之間均勻153.矩陣運(yùn)算(一)預(yù)定義變量(二)運(yùn)算符+
-
*
/
\
^
sqrt
~=“點(diǎn)乘”與普通乘法的區(qū)別;‘.*’and‘*’2.運(yùn)算優(yōu)先級(jí):指數(shù)運(yùn)算>乘除>加減;3.“=”和其他運(yùn)算符兩側(cè),允許有空格,以增加程序可讀性。(三)矩陣(數(shù)組)生成函數(shù)zeros(m,n)生成一個(gè)m
行n
列的零矩陣,m=n
時(shí)可簡(jiǎn)寫為zeros(n)ones(m,n)生成一個(gè)m行n列的元素全為1的矩陣,
m=n
時(shí)可寫為ones(n)eye(m,n)生成一個(gè)主對(duì)角線全為1的m
行n
列矩陣,
m=n
時(shí)可簡(jiǎn)寫為eye(n),即為n
維單位矩陣diag(X)若X是矩陣,則diag(X)為X的主對(duì)角線向量若X是向量,diag(X)產(chǎn)生以X為主對(duì)角線的對(duì)角矩陣tril(A)提取一個(gè)矩陣的下三角部分triu(A)提取一個(gè)矩陣的上三角部分rand(m,n)產(chǎn)生0~1間均勻分布的隨機(jī)矩陣,m=n
時(shí)簡(jiǎn)寫為rand(n)randn(m,n)產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣,
m=n
時(shí)簡(jiǎn)寫為randn(n)隨機(jī)矩陣為了進(jìn)行信號(hào)分析與處理,經(jīng)常需要對(duì)接收信號(hào)進(jìn)行仿真,而在信號(hào)仿真中離不開隨機(jī)數(shù)的產(chǎn)生,MATLAB提供的rand和randn函數(shù)可分別產(chǎn)生均勻分布和正態(tài)分布的隨機(jī)數(shù)。例如,要產(chǎn)生[0,1]之間均勻分布的隨機(jī)向量r1(2×3),可輸入:>>r1=rand(2,3) %產(chǎn)生[0,1]之間均勻分布的隨機(jī)矩陣
r1=0.45650.82140.61540.01850.44470.791919>>r2=5-10*rand(2,3)
%產(chǎn)生[-5,5]之間均勻分布的隨機(jī)矩陣
r2=0.89734.4211-3.1317
-3.93651.47134.9014>>r3=randn(2,3)%產(chǎn)生均值為0、方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)矩陣r3=1.18920.3273-0.1867
-0.03760.17460.725820通過(guò)下標(biāo)引用矩陣的元素,例如A(3,2)=200矩陣元素按列存儲(chǔ),例如
A=[1,2,3;4,5,6];
A(3)
ans=
2顯然,序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。矩陣元素(四)矩陣操作21A(r,c) A第r行第c列元素A(r,:) A第r行所有列元素A(:,c) A所有行第c列元素A(:,k:m)A的第k到第m列組成的子矩陣A(:) 矩陣所有元素排列為一維向量(從左到右 按列連接)A(s) 按序號(hào)尋訪元素A(r,c)=K r行c列元素賦值為KA(:)=D(:) A、D兩矩陣總元素?cái)?shù)相同(行列不一 定),將D每個(gè)元素賦給A中每個(gè)元素A(:)與A(:,:)的區(qū)別?如何獲得由A的第一、三行和第一、二列組成的子矩陣?自己動(dòng)手2323查看矩陣的大小:size與length
size(A)
列出矩陣A的行數(shù)和列數(shù)
size(A,1)
返回矩陣A的行數(shù)
size(A,2)
返回矩陣A的列數(shù)例:>>
A=[123;456]>>
size(A)>>
size(A,1)>>
size(A,2)
length(x)返回向量
X的長(zhǎng)度
length(A)等價(jià)于max(size(A))24改變矩陣的形狀:reshapereshape(A,m,n):將矩陣元素按列方向進(jìn)行重組重組后得到的新矩陣的元素個(gè)數(shù)必須與原矩陣元素個(gè)數(shù)相等!25矩陣基本運(yùn)算
矩陣的加減:對(duì)應(yīng)分量進(jìn)行運(yùn)算要求參與加減運(yùn)算的矩陣具有相同的維數(shù)例:>>
A=[123;456];B=[321;654]>>
C=A+B;D=A-B;
矩陣的普通乘法要求參與運(yùn)算的矩陣滿足線性代數(shù)中矩陣相乘的原則例:>>
A=[123;456];B=[21;34;56]>>
C=A*B26矩陣的數(shù)組運(yùn)算
數(shù)組運(yùn)算:對(duì)應(yīng)元素進(jìn)行運(yùn)算點(diǎn)與算術(shù)運(yùn)算符之間不能有空格!
數(shù)組運(yùn)算包括:點(diǎn)乘、點(diǎn)除、點(diǎn)冪
相應(yīng)的數(shù)組運(yùn)算符為:“.*”,“./”,“.\”和“
.^”參與運(yùn)算的對(duì)象必須具有相同的形狀!例:>>
A=[123;456];B=[321;654];>>
C=A.*B;D=A./B;E=A.\B;F=A.^B;27線性代數(shù)運(yùn)算的MATLAB命令MATLAB是矩陣化程序設(shè)計(jì)語(yǔ)言,所以處理矩陣和向量運(yùn)算特別方便。關(guān)于矩陣和向量的一些基本運(yùn)算命令已在前面有所介紹,常用的命令和函數(shù)還有zeros生成0矩陣eig特征值、特征向量ones生成1矩陣diag對(duì)角矩陣eye生成單位矩陣trace方陣的跡linspace生成等距行向量rank矩陣的秩rand生成隨機(jī)矩陣rref行最簡(jiǎn)形det方陣的行列式orth正交規(guī)范inv方陣的逆null求基礎(chǔ)解系norm范數(shù)jordanJordan分解cond方陣的條件數(shù)28Matlab中常見數(shù)學(xué)函數(shù)sin、cos、tan、cot、sec、csc、…asin、acos、atan、acot、asec、acsc、…exp、log、log2、log10、sqrtabs、conj、real、imag、signfix、floor、ceil、round、mod、remmax、min、sum、mean、sort、fftnorm、rank、det、inv、eig、lu、qr、svd……log
是自然對(duì)數(shù),即以
e
為底數(shù)mod(x,y)
結(jié)果與y
同號(hào),rem(x,y)
則與
x
同號(hào)max
等函數(shù)的參數(shù)是矩陣時(shí),是作用在矩陣各列上29二、Matlab繪圖作為一個(gè)功能強(qiáng)大的工具軟件,Matlab具有很強(qiáng)的圖形處理功能,提供了大量的二維、三維圖形函數(shù)。由于系統(tǒng)采用面向?qū)ο蟮募夹g(shù)和豐富的矩陣運(yùn)算,所以在圖形處理方面既方便又高效。1概述及圖形窗口的控制【1】figure命令格式:figure或figure(N)功能:創(chuàng)建一個(gè)圖形窗口。使編號(hào)為N的圖形窗口成為當(dāng)前圖形窗口,即圖形窗口處于可視狀態(tài)。如果窗口N不存在,則將創(chuàng)建一個(gè)句柄為N的圖形窗口。31311概述及圖形窗口的控制【2】clf命令格式:clf功能:清除當(dāng)前圖形窗口中的所有的內(nèi)容例>>x=-pi:pi/10:pi;>>y=sin(x);>>plot(x,y)>>clf32321概述及圖形窗口的控制【3】close命令格式一:close功能:
關(guān)閉當(dāng)前圖形窗口格式二:close(N)功能:
關(guān)閉指定編號(hào)N的圖形窗口格式三:closeall功能:
關(guān)閉所有圖形窗口33二維圖形plot函數(shù)函數(shù)格式:plot(x,y)
其中x和y為坐標(biāo)向量函數(shù)功能:以向量x、y為軸,繪制曲線。例:在區(qū)間0≤x≤2內(nèi),繪制正弦曲線y=sin(x),其程序?yàn)椋簒=0:pi/100:2*pi;y=sin(x);plot(x,y)34線型與顏色格式:plot(x,y1,’cs’,...)其中c表示顏色,s表示線型。例:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'g-',x,y2,'b-.')其中參數(shù)‘g-’和‘b-.’表示圖形的顏色和線型。g表示綠色,-表示圖形線型為實(shí)線;b表示藍(lán)色,-.表示圖形線型為點(diǎn)劃線。35設(shè)置曲線的樣式屬性色彩(c)說(shuō)明線型(l)說(shuō)明點(diǎn)型/標(biāo)記(m)說(shuō)明y黃色-實(shí)線.點(diǎn)m品紅--長(zhǎng)劃線o圓圈c青色:虛線x十字r紅色-.點(diǎn)劃線+加號(hào)g綠色*星號(hào)b藍(lán)色^上三角w白色v下三角k黑色>右三角<左三角s矩形d菱形36>>figure,>>t=0:pi/20:2*pi;>>y=sin(t);>>y1=sin(t-pi/2);>>y2=sin(t-pi);>>plot(t,y,'c-v',t,y1,'k--s',t,y2,'m:o')37若使用plot函數(shù)時(shí)不指定線型,則繪制的曲線將不被連接起來(lái)>>figure,>>t=0:pi/20:2*pi;>>y=sin(t);>>y1=sin(t-pi/2);>>y2=sin(t-pi);>>plot(t,y,'cv',t,y1,'ks',t,y2,'mo')3838使用命令grid,可以將圖形窗體的軸在有網(wǎng)格線和無(wú)網(wǎng)格線之間切換gridon——圖形窗體的軸顯示坐標(biāo)網(wǎng)格線gridoff——圖形窗體的軸不顯示坐標(biāo)網(wǎng)格線3939>>t=0:pi/20:2*pi;>>y=sin(t);>>y1=sin(t-pi/2);>>y2=sin(t-pi);>>plot(t,y,'cv',t,y1,'ks',t,y2,'mo')>>gridon>>gridoff40圖形標(biāo)記在繪制圖形的同時(shí),可以對(duì)圖形加上一些說(shuō)明,如圖形名稱、圖形某一部分的含義、坐標(biāo)說(shuō)明等,將這些操作稱為添加圖形標(biāo)記。title('加圖形標(biāo)題');xlabel('加X(jué)軸標(biāo)記');ylabel('加Y軸標(biāo)記');
41設(shè)定坐標(biāo)軸用戶若對(duì)坐標(biāo)系統(tǒng)不滿意,可利用axis命令對(duì)其重新設(shè)定。axis([xminxmaxyminymax])設(shè)定最大和最小值axis(‘a(chǎn)uto’)將坐標(biāo)系統(tǒng)返回到自動(dòng)缺省狀態(tài)axis(‘square’)將當(dāng)前圖形設(shè)置為方形axis(‘equal’)兩個(gè)坐標(biāo)因子設(shè)成相等axis(‘off’)關(guān)閉坐標(biāo)系統(tǒng)axis(‘on’)顯示坐標(biāo)系統(tǒng)42例:在坐標(biāo)范圍0≤X≤2π,-2≤Y≤2內(nèi)重新繪制正弦曲線,其程序?yàn)椋簒=linspace(0,2*pi,60);%生成含有60個(gè)數(shù)據(jù)元素的向量Xy=sin(x);plot(x,y);axis([02*pi-2
2]);%設(shè)定坐標(biāo)軸范圍43加圖例給圖形加圖例命令為legend。該命令把圖例放置在圖形空白處,用戶還可以通過(guò)鼠標(biāo)移動(dòng)圖例,將其放到希望的位置。格式:legend('圖例說(shuō)明','圖例說(shuō)明');
例:為正弦、余弦曲線增加圖例,其程序?yàn)椋簒=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,'--');legend('sin(x)','cos(x)');44subplot(m,n,p)該命令將當(dāng)前圖形窗口分成m×n個(gè)繪圖區(qū),即每行n個(gè),共m行,區(qū)號(hào)按行優(yōu)先編號(hào),且選定第p個(gè)區(qū)為當(dāng)前活動(dòng)區(qū)。subplot函數(shù)45x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);%eps為系統(tǒng)內(nèi)部常數(shù)ct=cos(x)./(sin(x)+eps);subplot(2,2,1);plot(x,y);title('sin(x)');axis([02*pi-11]);subplot(2,2,2);plot(x,z);title('cos(x)');axis([02*pi-11]);subplot(2,2,3);
plot(x,t);title('tangent(x)');axis([02*pi-4040]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis([02*pi-4040]);例:在一個(gè)圖形窗口中同時(shí)繪制正弦、余弦、正切、余切曲線46多圖形窗口需要建立多個(gè)圖形窗口,繪制并保持每一個(gè)窗口的圖形,可以使用figure命令。每執(zhí)行一次figure命令,就創(chuàng)建一個(gè)新的圖形窗口,該窗口自動(dòng)為活動(dòng)窗口,若需要還可以返回該窗口的識(shí)別號(hào)碼,稱該號(hào)碼為句柄。句柄顯示在圖形窗口的標(biāo)題欄中,即圖形窗口標(biāo)題。用戶可通過(guò)句柄激活或關(guān)閉某圖形窗口,而axis、xlabel、title等許多命令也只對(duì)活動(dòng)窗口有效。47重新繪制上例4個(gè)圖形,程序變動(dòng)后如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);figure;plot(x,y);title('sin(x)');axis([02*pi-11]);figure;plot(x,z);title('cos(x)');axis([02*pi-11]);figure;
plot(x,t);title('tangent(x)');axis([02*pi-4040]);figure;
plot(x,ct);title('cotangent(x)');axis([02*pi-4040]);48hold命令若在已存在圖形窗口中用plot命令繼續(xù)添加新的圖形內(nèi)容,可使用圖形保持命令hold。發(fā)出命令holdon后,再執(zhí)行plot命令,在保持原有圖形或曲線的基礎(chǔ)上,添加新繪制的圖形。49閱讀如下程序:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,'b');%繪制正弦曲線holdon;%設(shè)置圖形保持狀態(tài)plot(x,z,'r');
%保持正弦曲線同時(shí)繪制余弦曲線axis([02*pi-11]);legend('sin','cos');holdoff%關(guān)閉圖形保持5051二維繪圖函數(shù)小結(jié)plot二維圖形基本函數(shù)fplotf(x)函數(shù)曲線繪制fill填充二維多邊圖形polar極坐標(biāo)圖bar條形圖loglog雙對(duì)數(shù)坐標(biāo)圖semilogxX軸為對(duì)數(shù)的坐標(biāo)圖semilogyY軸為對(duì)數(shù)的坐標(biāo)圖stairs階梯形圖axis設(shè)置坐標(biāo)軸clf清除圖形窗口內(nèi)容close關(guān)閉圖形窗口figure創(chuàng)建圖形窗口grid放置坐標(biāo)網(wǎng)格線gtext用鼠標(biāo)放置文本hold保持當(dāng)前圖形窗口內(nèi)容subplot創(chuàng)建子圖text放置文本title放置圖形標(biāo)題xlabel放置X軸坐標(biāo)標(biāo)記ylabel放置Y軸坐標(biāo)標(biāo)記52三維圖形plot3函數(shù)最基本的三維圖形函數(shù)為plot3,它是將二維函數(shù)plot的有關(guān)功能擴(kuò)展到三維空間,用來(lái)繪制三維圖形。函數(shù)格式:plot3(x1,y1,z1,'c1',x2,y2,z2,'c2',…)其中x1,y1,z1…表示三維坐標(biāo)向量,c1,c2…表示線形或顏色。函數(shù)功能:以向量x,y,z為坐標(biāo),繪制三維曲線。53繪制三維網(wǎng)線圖mesh(z):z為m×n的矩陣Z坐標(biāo)——矩陣中元素的值X與Y坐標(biāo)——矩陣中元素的下標(biāo)X——1:n,對(duì)應(yīng)矩陣的列Y——1:m,對(duì)應(yīng)矩陣的行54圖像的讀/寫用imread函數(shù)讀取圖像,調(diào)用格式為:
x=imread(‘filename.fmt’)filename是圖像的文件名,fmt指定圖像文件的格式。圖像讀、寫與顯示圖像的讀/寫圖像讀、寫與顯示圖像的讀/寫55a=imread('jlu.jpg');size(a)運(yùn)行結(jié)果ans=2082083如:56在MATLAB中,imshow函數(shù)用于圖像顯示調(diào)用格式為:imshow(x)例子:x=imread(lena.jpg');figure,imshow(x);圖像讀、寫與顯示圖像的顯示57三、Matlab程序設(shè)計(jì)三、Matlab程序設(shè)計(jì)常用指令流程控制語(yǔ)句四種流程語(yǔ)句:if語(yǔ)句switch語(yǔ)句while語(yǔ)句for語(yǔ)句選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)60(一)選擇結(jié)構(gòu)選擇結(jié)構(gòu)的語(yǔ)句有if語(yǔ)句和switch語(yǔ)句。1.if語(yǔ)句格式一:
if條件語(yǔ)句組
end%必不可少,若沒(méi)有則表達(dá)式為0時(shí)找不到
%繼續(xù)執(zhí)行的程序入口格式二:
if條件語(yǔ)句組1else
語(yǔ)句組2
end61格式三:
if條件1
語(yǔ)句組1elseif條件2
語(yǔ)句組2……elseif條件m
語(yǔ)句組melse
語(yǔ)句組m+1end62例:輸入三角形的三條邊,求面積。
A=input('請(qǐng)輸入三角形的三條邊:');ifA(1)+A(2)>A(3)&A(1)+A(3)>A(2)&A(2)+A(3)>A(1)p=(A(1)+A(2)+A(3))/2;s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3)));disp(s);elsedisp('不能構(gòu)成一個(gè)三角形。')end運(yùn)行:請(qǐng)輸入三角形的三條邊:[456]9.921663(二)循環(huán)結(jié)構(gòu)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句:for語(yǔ)句和while語(yǔ)句。1.for語(yǔ)句:格式:
for循環(huán)變量=表達(dá)式1:表達(dá)式2:表達(dá)式3
循環(huán)體語(yǔ)句
end表達(dá)式1的值為循環(huán)變量的初值;表達(dá)式2的值為步長(zhǎng);表達(dá)式3的值為循環(huán)變量的終值。步長(zhǎng)為1時(shí),表達(dá)式2可以省略。64例:計(jì)算1+3+5+…+99=?sum=0;forn=1:2:99sum=sum+n;endsum運(yùn)行結(jié)果:sum=250065例:當(dāng)n=100時(shí),求的值。程序如下:ticy=0;n=100;fori=1:ny=y+1/(2*i-1);endtocyy=3.284366在實(shí)際MATLAB編程中,采用循環(huán)語(yǔ)句會(huì)降低其執(zhí)行速度,所以前面的程序通常由下面的程序來(lái)代替:ticn=100000;k=1:2:(2*n-1);y=sum(1./k);tocyy=3.284367672.while語(yǔ)句格式為:
while(條件)
循環(huán)體語(yǔ)句
end例:計(jì)算1~10的和i=1;sum=0;while(i<=10)sum=sum+i;i=i+1;endsum運(yùn)行結(jié)果:5568M文件及程序調(diào)試在入門階段,通常在行命令模式下工作,鍵入一條命令后,讓系統(tǒng)立即執(zhí)行該命令。該方法程序可讀性差且難以存儲(chǔ)。對(duì)于復(fù)雜的問(wèn)題應(yīng)編成可存儲(chǔ)的程序文件,讓Matlab執(zhí)行該程序文件,這種工作模式成為程序文件模式。由Matlab語(yǔ)句構(gòu)成的程序文件稱為m文件,用m作為文件的擴(kuò)展名,可直接閱讀并用任何編輯器來(lái)建立。m文件分主程序和子程序主程序:由用戶為解決問(wèn)題而編寫的子程序:函數(shù)文件,必須由其他m文件來(lái)調(diào)用69主程序:用clear、closeall等語(yǔ)句開始,清除工作空間中原有的變量和圖形,以避免其他已執(zhí)行的程序殘留數(shù)據(jù)對(duì)本程序的影響。主程序中如有全局變量,即在子程序中與主程序共用的變量,在程序起始部分注明
global變量名1變量名2……整個(gè)程序按Matlab標(biāo)識(shí)符的要求起名,加上后綴.m70函數(shù)文件用來(lái)定義子程序由function起頭,后跟的函數(shù)名必須與文件名相同有輸入輸出變量,可進(jìn)行變量傳遞除非用global聲明,子程序中的變量均為局部變量,不保存在工作空間中71functiony=mean_my(x)%定義函數(shù)名,輸入和輸出變量[m,n]=size(x);ifm==1m=n;endy=sum(x)/mm,n,y為局部變量在主程序中調(diào)用:x=…a=mean_my(x)…72變量的存儲(chǔ)和下載存儲(chǔ):save:把工作空間的變量存入磁盤,.matsaveaa%把工作空間的全部變量存入保存在名為aa.mat文件中;saveaaabc%把a(bǔ),b,c三個(gè)變量保存在名為aa.mat文件中;下載:load,把mat數(shù)據(jù)文件傳回到工作空間中,但不能選擇變量loadaa%把a(bǔ)a.mat文件中的全部數(shù)據(jù)和變量名一起下載到工作空間中73四、離散傅立葉變換(DFT)74定義:有限長(zhǎng)序列x(n)(0≤n≤N-1)有N個(gè)樣本值。它的傅立葉變換X(jω)在頻率區(qū)間(0≤ω<2π)的N個(gè)等間隔分布的點(diǎn)ωk=2πk/N(0≤k≤N-1)上也有N個(gè)取樣值。這兩組同樣長(zhǎng)的序列之間可以用簡(jiǎn)單的關(guān)系聯(lián)系起來(lái):其中:1、DFT定義75它的反變換稱為離散傅立葉反變換(IDFT),可以表為:1、DFT定義76若用矩陣式X=W*x及x=W-1*X求變換矩陣:W=dftmtx(N),
反變換矩陣:W-1=conj(dftmtx(N))/N,但通??芍苯诱{(diào)用FFT程序:正變換:X=fft(x,N) X=
fft(x)N默認(rèn)為x的長(zhǎng)度反變換:X=ifft(x)或X=
ifft(x,N)
4、用工具箱函數(shù)計(jì)算DFT77FFT程序求頻譜的范圍規(guī)范化為[0,2π),對(duì)應(yīng)的頻譜下標(biāo)為k=0,1,…N-1。設(shè)頻率分辨率 dw=2π/N,則頻率向量為
w=k*dw若要畫出乃奎斯特頻率范圍[-π,π)內(nèi)的頻譜,需要把[π,2π)范圍的頻譜平移到[-π,0)內(nèi),對(duì)于這一運(yùn)算,有專門的工具箱函數(shù)fftshift來(lái)實(shí)現(xiàn)。
X1=fftshift(X) X1就是在[-π,π)內(nèi)的頻譜向量。4、用工具箱函數(shù)計(jì)算DFT78傅里葉變換函數(shù)常用的FFT及反變換函數(shù)如下表所示。函數(shù)說(shuō)明fft計(jì)算快速離散傅立葉變換fftshift調(diào)整fft函數(shù)的輸出順序,將零頻位置移到頻譜的中心abs求幅值angle求相角ifft計(jì)算離散傅立葉反變換7980FFT計(jì)算頻譜舉例例:選擇合適的變換區(qū)間長(zhǎng)度N,用DFT對(duì)下列信號(hào)進(jìn)行譜分析,畫出幅頻、相頻特性。解:(1)為周期序列,取一個(gè)周期用DFT譜分析%(1)周期序列,截取一個(gè)周期作譜分析N1=100;n1=0:N1-1;x1n=2*cos(0.2*pi*n1);%生成序列x1nX1k=fft(x1n,N1);%x1n的N1點(diǎn)DFTsubplot(1,2,1);stem(n1/N1*pi,abs(X1k),'.');title('X1k-Amplitude');su
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專用:20xx境外合資合同3篇
- 救護(hù)車掛靠私立醫(yī)院協(xié)議書(2篇)
- 《血透患教》課件
- 2024年環(huán)保材料研發(fā)與生產(chǎn)許可合同
- 2024年民間個(gè)人借貸協(xié)議范本集錦一
- 2024年版自駕游活動(dòng)安全責(zé)任合同版B版
- 二年級(jí)上冊(cè)《乘除混合運(yùn)算》課件
- 《譫妄護(hù)理查房》課件
- 2025年銀川貨運(yùn)上崗證模擬考試試題
- 《就業(yè)市場(chǎng)趨勢(shì)分析》課件
- 2024年世界職業(yè)院校技能大賽“智能網(wǎng)聯(lián)汽車技術(shù)組”參考試題庫(kù)(含答案)
- 【課件】校園安全系列之警惕“死亡游戲”主題班會(huì)課件
- 化工企業(yè)冬季安全生產(chǎn)檢查表格
- 2024年工程勞務(wù)分包聯(lián)合協(xié)議
- 蜜雪冰城員工合同模板
- 廣東省深圳市龍崗區(qū)2024-2025學(xué)年三年級(jí)上學(xué)期11月期中數(shù)學(xué)試題(含答案)
- GB/T 18916.66-2024工業(yè)用水定額第66部分:石材
- 企業(yè)合規(guī)風(fēng)險(xiǎn)控制手冊(cè)
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)4 擺臺(tái)技能(3)-西餐零點(diǎn)餐臺(tái)擺臺(tái)
- 2023-2024學(xué)年人教版選擇性必修2 1-1 種群的數(shù)量特征 教案
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試英語(yǔ)試題 附答案
評(píng)論
0/150
提交評(píng)論