matlab基礎APP_第1頁
matlab基礎APP_第2頁
matlab基礎APP_第3頁
matlab基礎APP_第4頁
matlab基礎APP_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信號與系統(tǒng)實驗(一)目目 錄錄第第1章章 MATLAB簡介簡介第第2章章 MATLAB使用入門使用入門第第3章章 時間信號的表示及運算時間信號的表示及運算第第 1 章章 MATLAB簡介簡介 MATLAB(MATrix LABoratory,即矩陣實驗室)是,即矩陣實驗室)是MathWork公司推公司推出的一套高效率的數(shù)值計算和可視化軟件。出的一套高效率的數(shù)值計算和可視化軟件。 MATLAB是當今科學界最具影響力、也是最具活力的軟件,它起源于矩是當今科學界最具影響力、也是最具活力的軟件,它起源于矩陣運算,并已經(jīng)發(fā)展成一種高度集成的計算機語言。陣運算,并已經(jīng)發(fā)展成一種高度集成的計算機語言。 它提

2、供了強大的科學運算、靈活的程序設計流程、高質量的圖形可視化與它提供了強大的科學運算、靈活的程序設計流程、高質量的圖形可視化與界面設計、便捷的與其他程序和語言接口的功能。界面設計、便捷的與其他程序和語言接口的功能。 MATLAB語言有如下優(yōu)點:語言有如下優(yōu)點: 1. 編程簡單使用方便編程簡單使用方便 MATLAB的基本數(shù)據(jù)單元是既不需要指定維數(shù)、也不需要說明數(shù)據(jù)類的基本數(shù)據(jù)單元是既不需要指定維數(shù)、也不需要說明數(shù)據(jù)類型的矩陣,而且數(shù)學表達式和運算規(guī)則與通常的習慣相同。因此,在型的矩陣,而且數(shù)學表達式和運算規(guī)則與通常的習慣相同。因此,在MATLAB環(huán)境下,數(shù)組的操作與數(shù)的操作一樣簡單。環(huán)境下,數(shù)組的

3、操作與數(shù)的操作一樣簡單。 MATLAB的矩陣和向量操作功能是其他語言無法比擬的。的矩陣和向量操作功能是其他語言無法比擬的。 2.函數(shù)庫可任意擴充函數(shù)庫可任意擴充 由于由于MATLAB語言庫函數(shù)與用戶文件的形式相同,所以語言庫函數(shù)與用戶文件的形式相同,所以用戶文件可以像庫函數(shù)一樣隨意調用。所以用戶可根據(jù)自己用戶文件可以像庫函數(shù)一樣隨意調用。所以用戶可根據(jù)自己的需要任意擴充函數(shù)庫。的需要任意擴充函數(shù)庫。 3.語言簡單內涵豐富語言簡單內涵豐富 MATLAB語言中最重要的成分是函數(shù),其一般形式為:語言中最重要的成分是函數(shù),其一般形式為: Function a,b,c=fun(d,e,f) fun是自定

4、義的函數(shù)名,只要不與庫函數(shù)名相重,并且符是自定義的函數(shù)名,只要不與庫函數(shù)名相重,并且符合字符串的書寫規(guī)則即可。這里的函數(shù)既可以是數(shù)學上的函合字符串的書寫規(guī)則即可。這里的函數(shù)既可以是數(shù)學上的函數(shù),也可以是程序塊或子程序,內涵十分豐富。每個函數(shù)建數(shù),也可以是程序塊或子程序,內涵十分豐富。每個函數(shù)建立一個同名的立一個同名的M文件,如上述函數(shù)的文件名為文件,如上述函數(shù)的文件名為fun.m。這種文。這種文件簡單、短小、高效,并且便于調試。件簡單、短小、高效,并且便于調試。 4. 簡便的繪圖功能簡便的繪圖功能 MATLAB具有二維和三維繪圖功能,使用方法具有二維和三維繪圖功能,使用方法十分簡便。而且用戶可

5、以根據(jù)需要在坐標圖上加標十分簡便。而且用戶可以根據(jù)需要在坐標圖上加標題。坐標軸標記。文本注釋及柵格等,也可一指定題。坐標軸標記。文本注釋及柵格等,也可一指定圖線形式圖線形式(如實線、虛線等如實線、虛線等)和顏色,也可以在同一張和顏色,也可以在同一張圖上畫不同函數(shù)的曲線,對于曲面圖還可以畫出等圖上畫不同函數(shù)的曲線,對于曲面圖還可以畫出等高線。高線。 5. 豐富的工具箱豐富的工具箱 由于由于MATLAB的開放性,許多領域的專家都為的開放性,許多領域的專家都為MATLAB編寫了各種程序工具箱。編寫了各種程序工具箱。 這些工具箱提供了用戶在特別應用領域所需的許這些工具箱提供了用戶在特別應用領域所需的許

6、多函數(shù),這使得用戶不必花大量的時間編寫程序就多函數(shù),這使得用戶不必花大量的時間編寫程序就可以直接調用這些函數(shù),達到事半功倍的效果??梢灾苯诱{用這些函數(shù),達到事半功倍的效果。vMATLAB主工具箱主工具箱v符號數(shù)學工具箱符號數(shù)學工具箱vSIMULINK仿真工具箱仿真工具箱v控制系統(tǒng)工具箱控制系統(tǒng)工具箱v信號處理工具箱信號處理工具箱v圖象處理工具箱圖象處理工具箱v通訊工具箱通訊工具箱v系統(tǒng)辨識工具箱系統(tǒng)辨識工具箱v神經(jīng)元網(wǎng)絡工具箱神經(jīng)元網(wǎng)絡工具箱v金融工具箱金融工具箱第第 2 章章 MATLAB使用入門使用入門2.1 MARLAB軟件的環(huán)境介紹軟件的環(huán)境介紹菜單欄菜單欄-單擊即可打開相應的菜單;單

7、擊即可打開相應的菜單;工具欄工具欄-使用它們能使操作更快捷;使用它們能使操作更快捷;Command Window(命令窗口(命令窗口)-用來輸入和顯示計算結果,用來輸入和顯示計算結果,其中符號其中符號“”表示等待用戶輸入指令;表示等待用戶輸入指令;Workspace(工作區(qū)窗口(工作區(qū)窗口)-存儲著命令窗口輸入的所有變量存儲著命令窗口輸入的所有變量的名稱、維數(shù)、占用內在大小及數(shù)據(jù)類型等信息;的名稱、維數(shù)、占用內在大小及數(shù)據(jù)類型等信息;Command History(歷史紀錄窗口(歷史紀錄窗口)-記錄著每次時間及運行記錄著每次時間及運行過的所有命令行;過的所有命令行;Current Direct

8、ory(當前目錄選擇窗口)(當前目錄選擇窗口)。工具欄工具欄菜單欄菜單欄命令窗口命令窗口命令歷史窗口命令歷史窗口當前目錄窗口當前目錄窗口工作空間窗口工作空間窗口命令歷史窗口命令歷史窗口工具欄工具欄菜單欄菜單欄命令窗口命令窗口2.2 MATLAB基本運算入門基本運算入門1、 變量及其賦值變量及其賦值(1)標識符與數(shù))標識符與數(shù) 標識符是標識變量名、常量名、函數(shù)名和文件名的字符標識符是標識變量名、常量名、函數(shù)名和文件名的字符串的總稱。標識符可以是英文字母、數(shù)字和下劃線等符號,串的總稱。標識符可以是英文字母、數(shù)字和下劃線等符號,但不能為空格符、標點。但不能為空格符、標點。 標識符第標識符第1 1個字

9、符必須是英文字母,個字符必須是英文字母,MATLABMATLAB對大、小寫敏對大、小寫敏感。感。 MATLABMATLAB只有一種數(shù)據(jù)格式,雙精度(即只有一種數(shù)據(jù)格式,雙精度(即6464位)二進制,位)二進制,對應于十進制對應于十進制1616位有效數(shù)和位有效數(shù)和308308次冪。次冪。(2)變量名的命名規(guī)則)變量名的命名規(guī)則v(1 1)以字母開頭,后面可跟字母、數(shù)字和下劃線;)以字母開頭,后面可跟字母、數(shù)字和下劃線;v(2 2)大小寫字母有區(qū)別;)大小寫字母有區(qū)別;v(3 3)不超過)不超過3131個字符。個字符。預定義的變量 ans 預設的計算結果的變量名 eps MATLAB定義的正的極小

10、值=2.2204e-16 pi 內建的值 inf 值,無限大 ( 1/0) NaN 無法定義的一個數(shù)目 ( 0/0 ) i 或 j 虛數(shù)單位i=jsqrt(-1)鍵入clear清除所有定義過的變量。(3)變量的賦值及運算變量的賦值及運算A=-3-i*4A= -3.0000-4.000iB=2*exp(i*pi/6)B= 1.7321+1.000i A_mag=abs(A)A_mag = 5 A_rad=angle(A);A_rad = -2.2143A_deg=angle(A)*180/piA_deg = -126.8699 B_real=real(B)B_real = 1.7321 B_im

11、ag=imag(B)B_imag = 1.0000 A_deg=angle(A)*180/piA_deg = -126.8699(i)算術運算算術運算 (+ - * / )A=1,3, 5, 21A= 1 3 5 21B=1;3;5;21B= 1 3 5 21 C=0:2:10C = 0 2 4 6 8 10 D=0:5D = 0 1 2 3 4 5 用用linspace函數(shù)生成向量函數(shù)生成向量 :x=linspace(0,1,100);起始值起始值=0,終止值,終止值=1,元素數(shù)目,元素數(shù)目=100(ii)向量(數(shù)組)運算向量(數(shù)組)運算 向量分為行向量和列向量。向量分為行向量和列向量。生成

12、向量的方法:生成向量的方法:直接輸入向量:直接輸入向量:把向量中每個元素都列把向量中每個元素都列舉出來。向量元素要用舉出來。向量元素要用“ ”括起來。括起來。元素之間可用空格、逗號分隔生成行向元素之間可用空格、逗號分隔生成行向量,用分號分隔生成列向量。量,用分號分隔生成列向量。用冒號表達式生成向量:用冒號表達式生成向量:這種方法用于這種方法用于生成等步長或均勻等分的行向量,其表生成等步長或均勻等分的行向量,其表達式為達式為 x=x0:step:xn 。步長默認為。步長默認為1A=1,2, 3; 4,5,6;7,8,9A= 1 2 3 4 5 6 7 8 9A(4,3)=6.5A= 1.0000

13、 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 0 0 6.5000A(5,:)=5,4,3A= 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 0 0 6.5000 5.0000 4.0000 3.0000(iii)矩陣運算矩陣運算直接輸入矩陣:直接輸入矩陣:用用“ ”括起來。每一行的括起來。每一行的元素之間用空格或逗號開;矩陣的不同行之元素之間用空格或逗號開;矩陣的不同行之間用分號或按間用分號或按Enter鍵分開。鍵分開。如果不想顯示結果,用分號。

14、如果不想顯示結果,用分號。元素用()中的數(shù)字(下標)來注明,二維元素用()中的數(shù)字(下標)來注明,二維用兩個下標,逗號分開。用兩個下標,逗號分開。如果賦值元素的下標超過原來矩陣的大小,如果賦值元素的下標超過原來矩陣的大小,矩陣的行列會自動擴展。矩陣的行列會自動擴展。全行賦值,用冒號。全行賦值,用冒號。如果一個指令過長可以在結尾加上如果一個指令過長可以在結尾加上.(代表(代表此行指令下一行連續(xù)),例如此行指令下一行連續(xù)),例如3*. 6 ans = 18 向量元素的引用:向量元素的引用:X = 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11X= 1 2 3 4 5 6 7 8

15、 4 5 6 7 8 9 10 11X(3) % % 第三個元素第三個元素 ans = 2 X(1 2 5) % % 第一、二、五個元素第一、二、五個元素 ans = 1 4 3 X(1:5) % % 前五個元素前五個元素 ans = 1 4 2 5 3 X(10:end) % % 第十個及其后的元素第十個及其后的元素ans = 8 6 9 7 10 8 11 X(10:-1:2) % % 第十個到第二個元素的倒排第十個到第二個元素的倒排 ans = 8 5 7 4 6 3 5 2 4幾種特殊矩陣:幾種特殊矩陣: E= %空矩陣空矩陣E= zeros(2,2) %全為全為0的矩陣的矩陣 ans

16、 = 0 0 0 0 ones(3,3) %全為全為1的矩陣的矩陣 ans = 1 1 1 1 1 1 1 1 1 rand(2,4); % 隨機矩陣隨機矩陣 ans = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185矩陣和數(shù)組的運算矩陣和數(shù)組的運算 指 令 含 義 指 令 含 義 A.nA的每個元素自乘n次 AnA陣為方陣時,自乘n次 A+B 對應元素相加 A+B 矩陣相加 AB 對應元素相減 AB 矩陣相減 A.*B 對應元素相乘 A*B 矩陣相乘數(shù)組運算矩陣運算 指 令 含 義 指 令 含 義 A./BA的元素被B的對應元素

17、除 A/B A右除B A.BB的元素被 A的對應元素除 BA A左除B數(shù)組運算矩陣運算xA=B即:x=B/A , 右除 ;Ax=B即:x=AB 。 左除 。 矩陣轉置運算:矩陣轉置運算: 通過在矩陣變量后加的方法來表示轉置運算syms x y zwhosNameSizeBytes Class x11 126sym object y11 126sym object z11 126sym objectx=sym(x);y=sym(y);z=sym(z);sym(t);y=(sin(t).*exp(-2*t)+5./(cos(t)+t2+1)定義三個符號變量定義三個符號變量x,y,z。各變量須用。各

18、變量須用空格隔開??崭窀糸_。whos命令查看所定義的符號變量。命令查看所定義的符號變量。定義表達式定義表達式x+1為符號表達式。為符號表達式。符號表達式的另一種定義法,先定義符符號表達式的另一種定義法,先定義符號變量,然后直接寫出符號表達式。號變量,然后直接寫出符號表達式。(iV)符號運算符號運算 MATLAB符號運算工具箱提供符號之間運算的函數(shù),其運算結果以符號形式表符號運算工具箱提供符號之間運算的函數(shù),其運算結果以符號形式表達。達。 在使用符號運算前必須定義符號變量,并創(chuàng)建符號表達式。在使用符號運算前必須定義符號變量,并創(chuàng)建符號表達式。syms a bf1=1/(a+1);f2=2*a/(

19、a+b);f3=(a+1)*(b-1)/(a-b);f1+f2ans= 1/(a+1)+2*a/(a+b)f1/f3ans= 1/(a+1)2/(b-1)/(a-b)f1*f3ans= (b-1)/(a-b)pretty(f1*f3)b-1-A-b 可以用可以用 simple 或者或者 simplify 函數(shù)來化函數(shù)來化簡符號表達式。簡符號表達式。例例syms xf1=sin(x)2;f2=cos(x)2;y=f1+f2y= sin(x)2+cos(x)2y=simplify(y)Y= 1可以用可以用 pretty(f) 函數(shù)來改善公式的可讀性。函數(shù)來改善公式的可讀性。2、MATLAB常用數(shù)學

20、函數(shù)常用數(shù)學函數(shù)l 三角函數(shù)和雙曲函數(shù) 名稱 含義 名稱含義 名稱含義sin 正弦 csc 余割 atanh 反雙曲正切 cos 余弦 asec反正割 acoth 反雙曲余切 tan 正切 acsc反余割 sech 雙曲正割 cot 余切 sinh雙曲正弦 csch 雙曲余割 asin 反正弦 cosh 雙曲余弦 asech 反雙曲正割 acos 反余弦 tanh雙曲正切 acsch 反雙曲余割 atan 反正切 coth 雙曲余切 acot 反余切 asinh 反雙曲正弦 sec 正割 acosh 反雙曲余弦 v指數(shù)函數(shù) 名稱 含義 名稱 含義 名稱 含義 exp e為底的指數(shù) log10

21、10為底的對數(shù) pow2 2的冪 log 自然對數(shù) log2 2為底的對數(shù) sqrt 平方根 v復數(shù)函數(shù) 名稱 含義 名稱 含義 名稱 含義 abs 絕對值 conj 復數(shù)共軛 real 復數(shù)實部 angle 相角 imag 復數(shù)虛部 v取整函數(shù)和求余函數(shù) 名稱 含義 名稱 含義 ceil 向+取整 floor 向-取整 fix 向0取整 round 向靠近整數(shù)取整 mod 模除求余 sign 符號函數(shù) v矩陣變換函數(shù) 名稱 含義 名稱 含義 Rot90 矩陣反時針90翻轉 diag 產(chǎn)生或提取對角陣 tril 產(chǎn)生下三角 triu 產(chǎn)生上三角 v其他函數(shù) 名稱 含義 名稱 含義 min 最小

22、值 max 最大值 mean 平均值 median 中位數(shù) std 標準差 diff 相鄰元素的差 sort 排序 length 元素個數(shù) norm 歐氏(Euclidean)長度 (范數(shù) ) sum 總和 prod 總乘積 dot 內積 cross 外積 cumsum累計元素總和cumprod 累計元素總乘積 在命令窗口,可以在提示符“”后鍵入help 函數(shù)名來查詢函數(shù)的功能。 help clcCLC Clear command window.CLC clears the command window and homes the cursor.See also home.Reference

23、page in Help browserdoc clc例:1、plot( )函數(shù) plot(X,Y) 以以X為橫軸,繪制為橫軸,繪制Y的圖形;的圖形; plot(Y) 繪制對繪制對Y的數(shù)據(jù)點數(shù)的的數(shù)據(jù)點數(shù)的Y的圖形(若為復數(shù),則相當于的圖形(若為復數(shù),則相當于plot(real(Y),imag(Y));); plot(X,Y,S) 繪制繪制S指定的不同類型、樣式和顏色的線條。指定的不同類型、樣式和顏色的線條。2.3 基本繪圖方法基本繪圖方法y=5*(rand(1,10) -0.5)plot(y)title (my first plot)xlabel(x), ylabel(y)grid on畫出

24、畫出10個隨機數(shù)的曲線。個隨機數(shù)的曲線。加標題,加標題,坐標軸說明坐標軸說明加坐標網(wǎng)格線加坐標網(wǎng)格線 (1)Plot(x,y) 輸入一個數(shù)組的情況輸入一個數(shù)組的情況t=0:0.5:4*pi;y=exp(-0.1*t).*sin(t);plot(t,y)t是橫坐標,是橫坐標,y為縱坐標為縱坐標(2)Plot(x,y) 輸入兩個數(shù)組的情況輸入兩個數(shù)組的情況基本線型和顏色基本線型和顏色 符號符號 顏色顏色 符號符號 線型線型 Y 黃色黃色 . 點點 m 紫紅紫紅 0 圓圈圓圈 c 青色青色 xx 標記標記 r 紅色紅色 + 加號加號 g 綠色綠色 * 星號星號 b 蘭色蘭色 - 實線實線 w 白色白

25、色 : 點線點線 k 黑色黑色 -. 點劃線點劃線 - 虛線虛線plot(X,Y,S) 繪制繪制S指定的不同類型、樣式和顏色的線條。指定的不同類型、樣式和顏色的線條。t=0:0.5:4*pi;y2=exp(-0.1*t).*sin(t+1)plot(y2,+r) 紅色紅色+號線號線 t=0:0.5:4*pi;y=exp(-0.1*t).*sin(t);y1=exp(-0.1*t).*sin(t+1);plot(t,y;y1)t是向量,是向量,y是矩陣,如果是矩陣,如果t是列(行)向量,則是列(行)向量,則y的列(行)長度與的列(行)長度與t相同。相同。y的行(列)數(shù)就是曲的行(列)數(shù)就是曲線的

26、根數(shù)。線的根數(shù)。這種方法要求所有的輸出量有同樣的長度和同樣這種方法要求所有的輸出量有同樣的長度和同樣的自變量向量。不便于用戶自行設定線型和顏色。的自變量向量。不便于用戶自行設定線型和顏色。 (1)用)用plot(t,y1,y2,)命令命令3多條曲線的繪制多條曲線的繪制(2)用)用hold命令命令plot(t,y), hold on ,plot(t,y1,g);t2=0:.2:2*pi; y2=exp(-0.5*t2).*sin(5*t2+1);plot(t2,y2);hold off 畫完一張圖用命令保持住,再畫下一條曲線。畫完一張圖用命令保持住,再畫下一條曲線。兩張圖的變量長度可以各不相同。

27、只要每張圖的兩張圖的變量長度可以各不相同。只要每張圖的自變量和因變量長度相同就可以。自變量和因變量長度相同就可以。 plot(x1,y1,x2,y2,.xn,yn)plot(t,y,+g,t2,y2,:r);title(線型,點型和顏色線型,點型和顏色); xlabel(時間時間),ylabel(Y) x1,y1,x2,y2,xn,yn分別為數(shù)組對,每一對數(shù)分別為數(shù)組對,每一對數(shù)組可以繪出一條曲線,每一組數(shù)組對的長度可以不組可以繪出一條曲線,每一組數(shù)組對的長度可以不同,在后面都可以加線型標志符。同,在后面都可以加線型標志符。 為曲線圖加標題為曲線圖加標題 (3)在)在plot后使用多輸入變量后

28、使用多輸入變量2、 figure( ) 函數(shù)函數(shù)figure( )創(chuàng)建一個圖形窗口并返回它的句柄figure(H) 使H成為當前窗口3、subplot( ) 子圖函數(shù)子圖函數(shù)subplot(m,n,p) 將當前圖形窗口劃分為mn的小窗口,選擇第p個為當前繪圖窗口 二維繪圖工具二維繪圖工具 grid 放置格柵放置格柵 gtext 用鼠標放置文本用鼠標放置文本 hold 保持當前圖形保持當前圖形 text 在給定位置放置文本在給定位置放置文本 title 放置圖標題放置圖標題 xlabel 放置放置x軸標題軸標題 ylabel 放置放置y軸標題軸標題 zoom 縮放圖形縮放圖形4、ezplot(

29、)命令繪制符號表達式的曲線 ezplot(y,a,b)a,b參數(shù)表示符號表達式的參數(shù)表示符號表達式的自變量自變量取值范圍,默取值范圍,默認值為認值為0, 2。例:syms xy=-16*x2+64*x+96;ezplot(y,0,5xlabel(t),ylable(y)grid onstem命令的格式有以下幾種命令的格式有以下幾種:(1)stem(y)以以x=1,2,3為各點數(shù)據(jù)的為各點數(shù)據(jù)的x坐標,以坐標,以y向量的各個對應元素為向量的各個對應元素為y坐標,坐標,在(在(X,Y)坐標面畫一個空心小圓圈。)坐標面畫一個空心小圓圈。(2)stem(x,y,filled) 以以x向量的各個元素為向

30、量的各個元素為x坐標,以坐標,以y向量的各個對應元素為向量的各個對應元素為y坐標,在坐標,在(X,Y)坐標面畫一個實心小圓圈,并連接一條線段到)坐標面畫一個實心小圓圈,并連接一條線段到X軸。軸。5、stem函數(shù)繪制離散信號圖形函數(shù)繪制離散信號圖形A=2;phi=pi/6;w=2*pi/12;n=-10:10;x=A*sin(w*n+phi);stem(n,x,fill);grid on; axis命令命令 axis(x1,x2,y1,y2) 設置坐標軸范圍設置坐標軸范圍 axis square 當前圖形設置為方形當前圖形設置為方形 axis equal 坐標軸的長度單位設成相等坐標軸的長度單位

31、設成相等 axis normal 關閉關閉axis equal和和axis square axis off 關閉軸標記、格柵和單位標志關閉軸標記、格柵和單位標志 axis on 顯示軸標記、格柵和單位標志顯示軸標記、格柵和單位標志2.4 M文件、文件、M函數(shù)及程序調試函數(shù)及程序調試 在在matlabmatlab窗口輸入數(shù)據(jù)和命令進行計算時,當處理復雜窗口輸入數(shù)據(jù)和命令進行計算時,當處理復雜問題和大量數(shù)據(jù)時是不方便的。問題和大量數(shù)據(jù)時是不方便的。 命令行命令行方式程序可讀性差,而且不能存儲,對于復雜的方式程序可讀性差,而且不能存儲,對于復雜的問題,應編寫成能存儲的程序文件。問題,應編寫成能存儲的

32、程序文件。 M文件是文本文件,擴展名文件是文本文件,擴展名* *.m.m。(example.m)(example.m)可以用任可以用任何編輯器來建立,可直接閱讀。何編輯器來建立,可直接閱讀。MATLABMATLAB程序可直接調用程序可直接調用M M文件文件并執(zhí)行。并執(zhí)行。 注意:所創(chuàng)建的注意:所創(chuàng)建的m文件必須納入文件必須納入matlab搜索路徑后,才能在搜索路徑后,才能在matlab命令窗口運行。命令窗口運行。Matlab搜索路徑的設置搜索路徑的設置 matlab7.0 缺省路徑是缺省路徑是 C:Program FilesMATLAB71work 若創(chuàng)建的若創(chuàng)建的M文件放在新創(chuàng)建的目錄下,可

33、通過文件放在新創(chuàng)建的目錄下,可通過MATLAB菜單菜單files/add path 進行路徑的添加。進行路徑的添加。M M文件可以根據(jù)調用方式的不同分為兩類:文件可以根據(jù)調用方式的不同分為兩類:腳本文件腳本文件( (命令文件命令文件) ) (Script File)(Script File)函數(shù)文件函數(shù)文件(Function File)(Function File)腳本文件:腳本文件:將原本要在將原本要在MATLABMATLAB環(huán)境下直接輸入的多條語句,環(huán)境下直接輸入的多條語句,存放為存放為.m.m后綴的文件,在命令行鍵入文件名,替代多條語句,后綴的文件,在命令行鍵入文件名,替代多條語句,一次

34、執(zhí)行成批命令。一次執(zhí)行成批命令。函數(shù)文件函數(shù)文件:以固定格式書寫的程序代碼,以固定格式書寫的程序代碼,第一行是函數(shù)定第一行是函數(shù)定義行義行。和。和C C語言,語言,F(xiàn)ortranFortran等語言程序一樣。等語言程序一樣。matlab函數(shù)文件函數(shù)文件(1)matlab自定義的函數(shù)文件稱內置函數(shù)文件自定義的函數(shù)文件稱內置函數(shù)文件(2)用戶定義函數(shù))用戶定義函數(shù)m文件文件 需要輸入變量,返回輸出變量需要輸入變量,返回輸出變量函數(shù)函數(shù)m文件的格式:文件的格式: function 返回變量返回變量 = 函數(shù)名函數(shù)名(輸入變量輸入變量) % 注釋說明語句段注釋說明語句段 程序語句段程序語句段特定規(guī)則:

35、特定規(guī)則:1、 函數(shù)函數(shù)m文件第一行必須以單詞文件第一行必須以單詞function作為引導詞,表示該作為引導詞,表示該M文件是一文件是一個函數(shù)文件,必須遵循如下形式:個函數(shù)文件,必須遵循如下形式: function 因變量因變量 = 函數(shù)名函數(shù)名 (自變量自變量)2、函數(shù)名的命名規(guī)則與變量名相同,、函數(shù)名的命名規(guī)則與變量名相同,m文件的文件名必須是文件的文件名必須是 函數(shù)名函數(shù)名.m。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當輸出形參多于輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當輸出形參多于一個時,則應該用方括號括起來。一個時,則應該用方括號括起來。3、程序中的變量均為

36、局部變量,不保存在工作空間中。其變量只在函數(shù)運、程序中的變量均為局部變量,不保存在工作空間中。其變量只在函數(shù)運行期間有效。行期間有效。(4). 函數(shù)函數(shù)m文件的調用文件的調用一般格式:一般格式: 輸出實參表輸出實參表=函數(shù)名函數(shù)名(輸入實參表輸入實參表) 函數(shù)調用時,先將實參傳遞給相應的形參,從而實現(xiàn)參數(shù)傳遞,然后函數(shù)調用時,先將實參傳遞給相應的形參,從而實現(xiàn)參數(shù)傳遞,然后再執(zhí)行函數(shù)的功能。再執(zhí)行函數(shù)的功能。注意注意: 函數(shù)調用時各實參出現(xiàn)的順序、個數(shù),應與函數(shù)定義時形參的順序、個數(shù)一致,函數(shù)調用時各實參出現(xiàn)的順序、個數(shù),應與函數(shù)定義時形參的順序、個數(shù)一致,否則會出錯。否則會出錯。MATLAB

37、中,函數(shù)可以嵌套調用,即一個函數(shù)可以調用別的函數(shù),甚至調用它自身。中,函數(shù)可以嵌套調用,即一個函數(shù)可以調用別的函數(shù),甚至調用它自身。一個函數(shù)調用它自身稱為函數(shù)的遞歸調用。一個函數(shù)調用它自身稱為函數(shù)的遞歸調用。局部變量和全局變量:局部變量和全局變量: 局部變量只存在于單個函數(shù)工作空間,局部變量只存在于單個函數(shù)工作空間, 全局變量通過全局變量通過global定義,定義,格式為格式為 global 變量名。變量名??纱┬杏诓煌瘮?shù)可穿行于不同函數(shù)工作空間,包括基本工作空間工作空間,包括基本工作空間workspace。 程序設計中,全局變量固然可帶來某些方便,但卻程序設計中,全局變量固然可帶來某些方便

38、,但卻破壞了函數(shù)對變量的封裝,破壞了函數(shù)對變量的封裝,降低了程序的可讀性和可靠性。降低了程序的可讀性和可靠性。第第 3 章章 時間信號的表示及運算時間信號的表示及運算3.1 典型信號的典型信號的MATLAB表示表示一、離散時間信號的表示1、單位取樣序列可以通過編寫以下的 impDT.m 文件來實現(xiàn):function y=impDT(n)y=(n=0);調用時,n必須為整數(shù)或整數(shù)向量。2、單位階躍序列可以通過編寫以下的 uDT.m 文件來實現(xiàn):function y=uDT(n)y=(n=0);例:n=-3:10;x=impDT(n);y=uDT(n);z=uDT(n);subplot(3,1,1

39、),stem(n,x,fill),xlabel(n),grid ontitle(單位函數(shù)序列),axis(-3 10 -0.2 1.2)subplot(3,1,2),stem(n,y,fill),xlabel(n),grid ontitle(單位階躍序列),axis(-3 10 -0.2 1.2)subplot(3,1,3),stem(n,y,fill),xlabel(n),grid ontitle(矩形序列),axis(-3 10 -0.2 1.2)3、矩形序列)5()()(5nununG基本離散時間序列(一)3、單邊指數(shù)序列)()(nuanxn例:n=-3:10;a1=1.2;a2=-1.

40、2;a3=0.8;a4=-0.8;x1=a1.n;x2=a2.n;x3=a3.n;x4=a4.n;subplot(2,2,1),stem(n,x1,fill),grid on,xlabel(n),title(x(n)=1.2n)subplot(2,2,2),stem(n,x2,fill),grid on,xlabel(n),title(x(n)=(-1.2)n)subplot(2,2,3),stem(n,x3,fill),grid on,xlabel(n),title(x(n)=0.8n)subplot(2,2,4),stem(n,x4,fill),grid on,xlabel(n),titl

41、e(x(n)=(-0.8)n)4、正弦序列)sin()(0nnxn=0:40;x1=sin(pi/6*n);x2=sin(pi/10*n);x3=sin(pi/3*n);x4=sin(n/5);subplot(2,2,1),stem(n,x1,fill),grid on,xlabel(n),title(x(n)=sin(pi/6*n)subplot(2,2,2),stem(n,x2,fill),grid on,xlabel(n),title(x(n)= sin(pi/10*n)subplot(2,2,3),stem(n,x3,fill),grid on,xlabel(n),title(x(n)

42、= sin(pi/3*n) )subplot(2,2,4),stem(n,x4,fill),grid on,xlabel(n),title(x(n)= sin(n/5) )例:例:5、復指數(shù)序列njaAenx)(0)(n=0:30;A=2;a=-1/10;b=pi/6;x=A*exp(a+i*b)*n);subplot(2,2,1),stem(n,real(x),fill),grid on,xlabel(n),title(實部)subplot(2,2,2),stem(n,imag(x),fill),grid on,xlabel(n),title(虛部)subplot(2,2,3),stem(n

43、,abs(x),fill),grid on,xlabel(n),title(模)subplot(2,2,4),stem(n,angle(x),fill),grid on,xlabel(n),title(相角) 例:例:二、典型連續(xù)時間信號例:t=0:0.01:3;A=2;w=2*pi;phi=pi/4;a=-1.5;ft1=A*exp(a*t);ft2=A*sin(w*t+phi);ft3=A*exp(a+i*w)*t);Subplot(3,2,1),plot(t,ft1); title(2exp(-1.5t);Subplot(3,2,2), plot(t,ft2); title(2sin(2

44、*pi*t+pi/4);Subplot(3,2,3), plot(t,real(ft3); title(2exp(-1.5+j2*pi)*t)實部);Subplot(3,2,4), plot(t,imag(ft3); title(2exp(-1.5+j2*pi)*t)虛部);Subplot(3,2,5), plot(t,abs(ft3); title(2exp(-1.5+j2*pi)*t)模);Subplot(3,2,6), plot(t,angle(ft3); title(2exp(-1.5+j2*pi)*t)相角);1、復指數(shù)信號與弦信號指數(shù)信號及正弦信號單位階躍函數(shù): heaviside

45、 ( t ) t=0時函數(shù)值為NaN。ut=(t=0);門函數(shù):rectpuls ( t, w )w為門函數(shù)的寬度,默認為1三角脈沖函數(shù)tripuls (t,w,s)產(chǎn)生高度為1,寬度為w的三角脈沖1s 1,控制頂點位置,默認0。符號函數(shù):sign ( t )抽樣函數(shù):sinc(t)例:t=linspace(-10,10,500);Subplot(3,2,1),plot(t,heaviside(t+5); axis(-10,10,-2,2);title(u(t+5);Subplot(3,2,2), plot(t,2*rectpuls(t,4); axis(-10,10,-3,3); title

46、(2*G4 (t),);Subplot(3,2,3), plot(t,tripuls (t); axis(-10,10,-2,2); title(1-|t|);Subplot(3,2,4), plot(t,tripuls (t,4,-1); axis(-10,10,-2,2); title(頂點在左邊);Subplot(3,2,5), plot(t,sign(t-4); axis(-10,10,-2,2); title(sgn(t-4);Subplot(3,2,6), plot(t,sinc(t/pi); axis(-10,10,-2,2); title(Sa(t);tttcsin)(sin2

47、、基本函數(shù)(一)常用基本波形周期方波square(w0* t ,duty)產(chǎn)生基頻為w0(周期T=2/w0)的周期方波duty為占空比,默認為50%。周期鋸齒波或三角波: sawtooth (w0* t ,width)產(chǎn)生基頻為w0(周期T=2/w0)的周期鋸齒波0width 1,用來控制鋸齒波的斜率,默認為1例:t=linspace(-10,10,500);Subplot(2,2,1),plot(t,square(pi*t); axis(-10,10,-2,2);Subplot(2,2,3), plot(t,square(2*pi*t,30); axis(-10,10,-2,2);Subpl

48、ot(2,2,2), plot(t,sawtooth(t); axis(-10,10,-2,2);Subplot(2,2,4), plot(t,sawtooth(pi*t,0.5); axis(-10,10,-2,2);二、基本函數(shù)二、基本函數(shù)(二二)周期方波和三角波例:已知信號 ,畫出疊加信號 、DSB信號 、AM信號 的波形。解:t=linspace(-2,2,500);f1=cos(pi*t);f2=0.5*cos(20*pi*t);f=f1+f2; fs=f1.*f2; fc=(2+f1).*f2;Subplot(3,1,1),plot(t,f,t,f1+0.5,r:,t,f1-0.5

49、,r:); axis(-2,2,-2,2);title(f1+f2);Subplot(3,1,3), plot(t,fs,t,f1/2,r:,t,-f1/2,r:); axis(-2,2,-2,2); title(DSB);Subplot(3,1,3), plot(t,fc,t,(f1+2)/2,r:,t,-(f1+2)/2,r:); axis(-2,2,-2,2); title(AM);)20cos(5 . 0)(),cos()(21ttfttf)()(21tftf)()(21tftf)()(221tftf3.2 連續(xù)信號的基本變換連續(xù)信號的基本變換一、信號的相加及調制一、信號的相加及調制信

50、號的相加及調制例:已知信號f(t)的波形如圖所示,試畫出 、 的波形。解:t=-2:0.01:3;f=t.*(heaviside(t)-heaviside(t-1)-(heaviside(t-1)-heaviside(t-2);t1=3-4*t;f1=t1.*(heaviside(t1)-heaviside(t1-1)-(heaviside(t1-1)-heaviside(t1-2);t2=1-t/1.5;f2=t2.*(heaviside(t2)-heaviside(t2-1)-(heaviside(t2-1)-heaviside(t2-2);Subplot(3,1,1), plot(t,f

51、); axis(-2,3,-2,2); title(f);Subplot(3,1,2), plot(t,f1); axis(-2,3,-2,2); title(f(3-4t);Subplot(3,1,3), plot(t,f2); axis(-2,3,-2,2); title(f(1-t/0.5);)5 . 1/1 ()(2tftf)43()(1tftf)(tf1211二、信號的平移、反折及尺度變換二、信號的平移、反折及尺度變換信號的平移、反折及尺度變換三、離散時間信號卷積三、離散時間信號卷積 )()()(*)()(2121mmnfmfnfnfnf求解離散卷積的函數(shù)f=conv(f1,f2);f向

溫馨提示

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

評論

0/150

提交評論