第2章MATLAB的基本語法_Matlab及在電子信息類課程中的應用_第1頁
第2章MATLAB的基本語法_Matlab及在電子信息類課程中的應用_第2頁
第2章MATLAB的基本語法_Matlab及在電子信息類課程中的應用_第3頁
第2章MATLAB的基本語法_Matlab及在電子信息類課程中的應用_第4頁
第2章MATLAB的基本語法_Matlab及在電子信息類課程中的應用_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法第第2章章 MATLAB的基本語法的基本語法 2.1 變量及其賦值變量及其賦值 2.2 運算符與數學表達式運算符與數學表達式 2.3 控制流控制流 2.4 數據的輸入輸出及文件的讀寫數據的輸入輸出及文件的讀寫2.5 基本數學函數基本數學函數2.6 基本繪圖方法基本繪圖方法2.7 M文件及程序調試文件及程序調試 第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.1 變量及其賦值變量及其賦值 2.1.1 2.1.1 標識符與數據格式標識符與數據格式 pipipxx 標識符是標志變量名、常量名、函數名和文件名的

2、字符串的總稱。在MATLAB中,變量和常量的標識符最長允許19個字符。字符包括全部的英文字母(大小寫52個)、阿拉伯數字和下劃線等符號,標識符中第一個字符第一個字符必須是英文字母。2.1.2 2.1.2 矩陣及其元素的賦值矩陣及其元素的賦值 賦值就是把數賦予代表常量或變量的標識符。在MATLAB中,變量都代表矩陣。列矢量可被當作只有一列的矩陣;行矢量也可被當作只有一個行的矩陣;標量應看作11階的矩陣。賦值語句的一般形式為: 變量表達式(或數)變量表達式(或數)1賦值要求賦值要求在輸入矩陣時,應遵循以下規(guī)則:整個矩陣的值應放在方括號中;同一行中各元素之間以逗號“,”或空格分開;不同行的元素以分號

3、“;”隔開。例如:例如:a=1 2 3 4;5 6 7 8;9 10 11 12第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法 在MATLAB中,變量的元素(即矩陣元)用圓括號“()”中的數字(也稱為下標)來注明,一維矩陣(也稱數組)中的元素用一個下標表示,二維矩陣由兩個下標數構成,以逗號分開,對三維矩陣則由三個下標數構成。3賦值技巧賦值技巧2變量的元素的標注變量的元素的標注如果賦值元素的下標超出了原有矩陣的大小,結果會怎樣?如果賦值元素的下標超出了原有矩陣的大小,結果會怎樣?例如:上例,例如:上例, a(4,5)=5 矩陣的行列會自動擴展矩陣的行列會自動擴展 例如:上例

4、,例如:上例,a(2,1)=5, 若將其改為若將其改為9,則可用,則可用a(2,1)=9;(1) 利用冒號“:”給數組元素賦值。 格式:t=j:i:k,% j為初始值,i是步長(省略時步長為1),k為終值(最后一個數要小于等于k)。 例如:例如:k=1:15,x=1:0.2:2(2) 利用冒號“:”給全行的元素賦值 例如:例如:a(1 , :)=11 12 13 14 15; a(:,2)=5 6 7 8 (3) 利用行、列標注構成新的矩陣 例如:例如:b=a(1,2 ,2,3)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法3賦值技巧賦值技巧(4) 利用空矩陣可以縮減矩陣

5、的階數 例如:例如: a(2,3,:)=; a(:, 3,4)= 4特殊矩陣和數組特殊矩陣和數組(1)單位矩陣函數單位矩陣函數eye()函數功能:產生對主角線元素為1,其它元素為0的單位矩陣。eye()的調用格式如下:A=eye(n) 返回一個nn階單位矩陣;A=eye(m , n) 返回一個mn階單位矩陣,或用A=eye(m , n);(2) zeros函數、函數、ones函數、函數、rand以及以及randn函數函數A=zeros(n) 返回一個nn階零矩陣;A=zeros(m , n) 返回一個mn階零矩陣;A=zeros(d1,d2,d3) 返回一個維數為d1d2d3的所有元素為0的數

6、組。A=ones(n) 返回一個nn階全1矩陣;A=ones(m , n) 返回一個mn階全1矩陣;A=ones(d1,d2,d3) 返回一個維數為d1d2d3的所有元素為1的數組。Rand 生成隨機矩陣或數組,元素在(0,1)之間服從均勻分布;Randn 生成隨機矩陣或數組,元素服從均值為0,方差為1的正態(tài)分布。例:例:x=rand(1,5) ; y=randn(5,1)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法(3)linspace函數和函數和logspace函數函數linspace函數的調用格式如下:y=linspace(a,b) 產生一個行矢量y,該矢量把a和

7、b間的數等分100份而得到。y=linspace(a,b,n) 產生一個行矢量y,該矢量把a和b間的數等分n份而得到。5MATLAB內部特殊變量和常數內部特殊變量和常數變量變量ans:臨時變量,通常指示當前的答案。常數常數eps:表示浮點相對精度;其值是從1.0到下一個最大浮點數之間的差值。變量值作為一些MATLAB函數計算的相對浮點精度,按IEEE標準,esp= 2-52近似為2.2204e-016。常數常數realmax:表示最大正浮點數;任何大于該值的運算都溢出。在具有IEEE標準浮點格式的機器上,realmax略小于21024 ,近似為1.7977e+308。常數常數realmin:表

8、示最小正浮點數;任何小于該值的運算都溢出。在具有IEEE標準浮點格式的機器上,realmin略小于2-1024 ,近似為2.2251e-308。 常數常數pi:表示圓周率 =3.1415926535897.。表達式4*atan(1)和imag(log(-1)產生相同的值。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法常數常數Inf:代表正無窮大,一般被0除或溢出則產生無窮大結果。如2/0,210000均產生結果:Inf;而log(0)產生結果:-Inf。虛數單位虛數單位i,j:表示復數虛部單位,相當于 。NaN:表示非數值。如當Inf-Inf,Inf/Inf, 0*Inf

9、,0/0均產生該結果。16復數的賦值方式復數的賦值方式 MATLAB的每一個元素都可以是復數,實數是復數的特例。復數的虛數部分用i或j表示。例如:例如:c=3+5.2i。對復數矩陣有兩種賦值方法:(1)可將矩陣元逐個賦予復數。可將矩陣元逐個賦予復數。 例如:例如: z=1+2i,3+4i;5+6i,7+8i 或或 z=1+2*i,3+4*i;5+6*i,7+8*i(2)將矩陣的實部和虛部分別賦值:例如:將矩陣的實部和虛部分別賦值:例如: z=1,3;5,7+2,4;6,8*i這里*不能省略7變量檢查變量檢查在程序調試或變量的賦值過程,往往需要檢查工作空間中的變量、變量的階數以及變量賦值內容。在

10、檢查變量及其階數等內容時,既可用工作空間窗口,也可在命令窗口使用who或whos命令來完成檢查。當查看某變量的賦值情況,可在命令窗口直接鍵入該變量名回車即可。 第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.2 運算符與復數運算 算術運算符:算術運算符:進行數值計算。 關系運算符:關系運算符:比較兩個操作數的大小。 邏輯運算符:邏輯運算符:進行邏輯運算。 2.2.1 2.2.1 算術運算符算術運算符 (1)矩陣加減法矩陣加減法“”:AB功能:兩矩陣對應元素相加減。因此,A和B兩矩陣必須有相同的大小,或其中之一 為標量,標量可以與任意大小的矩陣相加。例如:若例如:若a=1

11、 2 3;b=4 5 6,c=a+b,則,則c=5 7 8; 若若d=a-5,則,則d=-4 -3 -2 (2)矩陣相乘矩陣相乘“*”:A*B 功能:C =A*B為兩矩陣線性代數的乘積,即例如:例如: a=1 2 3;b=4 5 6 則:則:a*b=32; A=1 2 3;4 5 6;B=2 3 5;1 4 6,C=A*B;則;則C= 23 27 53 60nkjkBkiAjiC1),(),(),(第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.2 運算符與復數運算 2.2.1 2.2.1 算術運算符算術運算符 (3) 矩陣元素相乘矩陣元素相乘“.*”:A.*B功能:矩

12、陣A和B的對應元素相乘;因此,A和B必須大小相同,或其中之一為標量。 例如:例如:a=1 2 3;b=4 5 6;則:;則:a.*b=4 10 18; c=1 2 3 4;z=1+2i,3+4i;5+6i,7+8i;則則c.*z ans = 1.0000 + 2.0000i 6.0000 + 8.0000i 15.0000 +18.0000i 28.0000 +32.0000i; 2*a ans = 2 4 6(4)矩陣右除矩陣右除“B/A”與左除與左除“AB”如果A為一非奇異矩陣,則B/A與AB可通過A的逆矩陣與B矩陣得到:B/A=B*inv(A); AB=inv(A)*B。例如:例如:A=

13、3,1;2,4,B=4,5,C=3;4 則則B/A ans= 0.6000 1.1000AC ans= 0.8000 0.6000第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法(5)矩陣元素右除矩陣元素右除“A./B”與左除與左除“A.B” 矩陣元素右除“A./B”表示矩陣元素A(i,j)/B(i,j);矩陣元素左除“A./B” 表示矩陣B(i,j)/A(i,j),因此,A和B必須大小相同,或者其中之一為標量。(6)矩陣冪矩陣冪“”:Xp 如果p為標量,表示X的p次冪;如果X為標量,而p為矩陣,Xp用特征值和特征特征向量表示X的矩陣p次冪。注意X和p不能同時為矩陣,但必須

14、是方陣。(7)矩陣元素冪矩陣元素冪“.”:A.B A.B表示矩陣元素A(i,j)的B(i,j)次冪,A與B必須大小相同,或者其中之一為標量。(8) 矩陣轉置矩陣轉置“ ”A表示矩陣A的線性代數轉置。對于復矩陣,表示復共軛轉置。(9) 非共軛轉置非共軛轉置“ . ”A.表示非共軛轉置;對于復矩陣,不包括共軛。(10)冒號操作符冒號操作符“:” 冒號是一個非常有用的操作符;可以產生向量、數組下標以及for循環(huán)。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法指令行中的標點符號名名 稱稱標標 點點作作 用用空格空格(為機器辨認)用作輸入量與輸入量之間的分隔符(為機器辨認)用作輸入

15、量與輸入量之間的分隔符逗號逗號,用作要顯示計算結果的指令與其后指令的分隔;用作輸入量與輸入量之間的用作要顯示計算結果的指令與其后指令的分隔;用作輸入量與輸入量之間的分隔符;用作數組元素分隔符號分隔符;用作數組元素分隔符號黑點黑點.用作數值表示中的小數點用作數值表示中的小數點分號分號;用作不顯示計算結果指令的用作不顯示計算結果指令的“結尾結尾”標志;用作不顯示計算結果指令與其后標志;用作不顯示計算結果指令與其后指令的分隔;用作數組的行間分隔符;指令的分隔;用作數組的行間分隔符;冒號冒號:用以生成一維數組;用作單下標援引時,表示全部元素構成的長列;用作多用以生成一維數組;用作單下標援引時,表示全部

16、元素構成的長列;用作多下標援引時,表示那維上的全部下標援引時,表示那維上的全部注釋號注釋號%由它由它“啟首啟首”后的所有物理行部分被看作非執(zhí)行的注釋后的所有物理行部分被看作非執(zhí)行的注釋單引號對單引號對 字符串記述符字符串記述符圓括號圓括號( )在數組援引時用;函數指令輸入宗量列表時用在數組援引時用;函數指令輸入宗量列表時用方括號方括號 輸入數組時用;函數指令輸出宗量列表時用輸入數組時用;函數指令輸出宗量列表時用花括號花括號 元胞數組記述符元胞數組記述符下連符下連符_(為使人易讀)用作一個變量、函數或文件名中的連字符(為使人易讀)用作一個變量、函數或文件名中的連字符續(xù)行號續(xù)行號由三個以上連續(xù)黑點

17、構成。它把其下的物理行看作該行的由三個以上連續(xù)黑點構成。它把其下的物理行看作該行的“邏輯邏輯”繼續(xù),以繼續(xù),以構成一個構成一個“較長較長”的完整指令的完整指令“At”號號放在函數名前,形成函數句柄;放在目錄名前,形成用戶對象類目錄放在函數名前,形成函數句柄;放在目錄名前,形成用戶對象類目錄說明說明為保證指令正確執(zhí)行,以上符號一定要在英文狀態(tài)下輸入。為保證指令正確執(zhí)行,以上符號一定要在英文狀態(tài)下輸入。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法關系比較結果只有兩種可能,即1或0。1表示關系式這“真”,即關系式正確;0表示該關系為“假”,即它不成立。例如:例如:a=1 2,

18、b=2 1, 則則ab 結果為結果為0 1,a=b 結果為結果為0 0 例:例:A=1:9,B=10-A, tf=A4, tf=B-(A2), tf=(A=B) 2.2.2 2.2.2 關系操作符關系操作符 關系運算是指兩個元素之間數值的比較。MATLAB所提供的關系操作符如表所示。注意:注意:“=”和和“ =”意義的不同意義的不同例:例:x=(-3:3)/3,sin(x)./x x=(-3:3)/3,x=x+(x=0)*eps, sin(x)./x第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.2.4 2.2.4 關系與邏輯函數關系與邏輯函數其他關系與邏輯函數 測試函

19、數 第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.2.52.2.5復數運算復數運算 1MATLAB中所有的運算符和函數都對復數有效。 2復數的共軛可利用函數“conj”來完成 2.3 控制流控制流 2.3.1 If2.3.1 If語句語句 if語句稱為條件執(zhí)行語句。其關鍵字包括if、else、elseif和end。 格式之一格式之一: if 表達式表達式 語句組語句組A end其工作流程如圖所示。注意:注意:語句中的end是決不可少的,沒有它,在邏輯表達式為0時,就找不到繼續(xù)執(zhí)行程序的入口。例例: n=input(n=?); if rem(n,2)=0; disp(n

20、 is even); end第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法 格式之二:格式之二: if 表達式表達式 語句組語句組A else 語句組語句組B end其工作流程如圖所示。例例: n=input(n=?); if rem(n,2)=0; disp(n is even); else disp(n is odd); end第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法 格式之三:格式之三: if 表達式表達式1 語句組語句組A elseif 表達式表達式2 語句組語句組B else 語句組語句組C end工作流程原理如圖2.3所示。例例:

21、n=input(n=?); if n1 EPS=EPS/2; num=num+1; end num EPS=2*EPS第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.3.4 for2.3.4 for語句語句for語句也是循環(huán)語句,但與while語句不同的是,它循環(huán)執(zhí)行一組語句的執(zhí)行次數是確定。其關鍵字包括for、end、break等。調用的基本格式如下: for index=初值:增量:終值 語句組A end功能:把語句組A(亦稱為循環(huán)體)反復執(zhí)行N次。循環(huán)次數N為: N1+(終值-初值)/增量在每次執(zhí)行時程序中的index的值按“增量”增加。注意:注意:(1)For循

22、環(huán)不能用For循環(huán)內重新賦值循環(huán)變量n來終止。例如:例如: for n=1:7 x(n)=sin(n*pi/10) end例如:例如: for n=1:7 x(n)=sin(n*pi/10) n=7; end例如:例如: for n=1:7 x(n)=sin(n*pi/10) if n=5 break end end第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法注意:注意:(2)為了提高處理的速度,在For循環(huán)(While循環(huán))被執(zhí)行之前,應預先分配數組。例例: x=zeros(1,10); for n=1:10 x(n)=sin(n*pi/10); end x(3) 當

23、有一個等效的數組方法來解給定的問題時,應避免用For循環(huán)。上例:上例:n=1:10; x=sin(n*pi/10)2.3.4 for2.3.4 for語句語句第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.3.4 for2.3.4 for語句語句注意:注意:(4) for循環(huán)可按需要嵌套。與其它的編程語言類似,for語句可以嵌套使用。例:例: for i=1:3 for j=1:4 a(i,j)=i*j; end; end; a(5)語句1:10是一個標準的MATLAB數組創(chuàng)建語句。在For循環(huán)內接受任何有效的MATLAB數組。例:例:A=1,2,9,18;24,31,

24、12,21; for a=A b=a(2)-a(1) end第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.4 2.4 數據的輸入輸出及文件的讀寫 2.4.1 2.4.1 交互輸入與輸出命令和函數交互輸入與輸出命令和函數1鍵盤輸入命令鍵盤輸入命令input格式一:格式一:u=input(提示內容提示內容)在屏幕上顯示提示內容,等待從鍵盤輸入,將輸入的值賦給數據變量u。例:例:x=input(請輸入變量請輸入變量x的值的值)根據提示內容輸入根據提示內容輸入1 2 3;5 6 7;8 9 10注意注意:如果未輸入任何字符,而按下回車鍵,則返回一個空矩陣。:如果未輸入任何字符

25、,而按下回車鍵,則返回一個空矩陣。格式二:格式二: u=input(提示內容提示內容,s)在屏幕上顯示提示內容,等待從鍵盤輸入,將輸入的符號以字符串形式賦給字符串變量u。例:例: string=input(請輸入字符串:請輸入字符串:,s);根據提示內容輸入根據提示內容輸入Good!Better!注意:注意:(1)如果未輸入任何字符,而按下回車鍵,則返回一個空字符。)如果未輸入任何字符,而按下回車鍵,則返回一個空字符。 (2)n字符串代表換行,提示文本中可以包括一個或多個字符串代表換行,提示文本中可以包括一個或多個n字符串。字符串。 (3)如要顯示)如要顯示“”,要用,要用。例:例:u=inp

26、ut(提示內容提示內容nnn,s);u=input(提示內容提示內容,s)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.4 2.4 數據的輸入輸出及文件的讀寫 2.4.1 2.4.1 交互輸入與輸出命令和函數交互輸入與輸出命令和函數2. 菜單輸入命令菜單輸入命令menu功能:產生一個供用戶輸入的選擇菜單。格式:格式:k=menu(title,選項選項1,選項選項2,選項選項n)顯示以字符串變量title為標題的菜單,選擇為字符變量:選項1,選項2,選項n,并將所輸入的值賦給變量k。例如:例如:k=menu(學生名單學生名單,選項選項1,選項選項2,選項選項3,選項選項

27、n)3暫停執(zhí)行命令暫停執(zhí)行命令pausepause 常用在M文件中,用于停止執(zhí)行,直接按任意鍵繼續(xù)執(zhí)行;pause(n) 暫停執(zhí)行n秒后繼續(xù)執(zhí)行;pause on 允許一系列pause命令暫停程序執(zhí)行;pause off 保證任何pause命令和pausea(n)語句不能暫停程序執(zhí)行。4顯示命令顯示命令 disp功能:顯示指定的變量或變量的內容。調用格式:調用格式:disp(變量名變量名) 例如:例如:k=1:10;disp(k)。disp(顯示該語句顯示該語句)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法5按格式要求輸出變量命令按格式要求輸出變量命令sprintf功能

28、:按格式要求輸出變量(P32-33)。調用格式:調用格式:sprintf(顯示格式顯示格式,變量變量)。2.4.2 文件輸入輸出命令與函數(閱讀) 1save功能:用以將工作空間中的變量保存到磁盤上。格式一:格式一: save 將工作空間中的所有變量保存在一個名為:“matlab.mat”的二進制格式文件中,該文件可通過load命令來重新裝入工作空間。格式二:格式二:save文件名文件名 變量名變量名將工作空間中指定的“變量名”保存在指定“文件名.mat”的二進制格式文件中。格式三:格式三:save文件名文件名 選項選項使用“選項”指定ASCII文件格式,將工作空間中所有變量保存到“文件名”所

29、指定的文件中。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2. load:功能:從磁盤文件中重新調入變量內容到工作空間。格式一:格式一:load 將保存在“matlab.mat”文件中的所有變量調入到工作空間。格式二:格式二: load 文件名文件名從“文件名 . mat”中調入變量,可給出全部路徑。3. fopen功能:打開文件或獲得打開文件信息。格式一:格式一:f_id=fopen(文件名,文件名,允許模式允許模式) 以允許模式指定的模式打開“文件名”所指定的文件,返回文件標識f_id;允許模式允許模式 可以是下列幾個字符串之一:r : 打開文件進行讀(缺省型式);

30、w : 刪除己存在文件中的內容或生成一個新文件,打開進行寫操作; a :打開一個己存在的文件或生成并打開一個新文件,進行寫操作,在文件末尾添加數據;第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法格式二:格式二:f_id , message=fopen (文件名,文件名,允許模式允許模式,格式,格式) 功能:用指定的數據“格式”打開數據文件,返回文件標識和打開文件信息兩個參數?!皵祿袷綌祿袷健?。如果fopen成功打開文件,則返回文件標識f_id,message內容為空,如果不能成功打開,則返回f_id值為1,message中返回一個有助于判斷錯誤類型的字符串。有三個值是

31、預先定義的,不能打開或關閉: 0:表示標準輸入,一直處于打開讀入狀態(tài)。 1:表示標準輸出,一直處于打開追加狀態(tài)。 2:表示標準錯誤,一直處于打開追加狀態(tài)。4fclose功能:關閉一個或多個已打開的文件。格式一:格式一:status=fclose(f_id) 關閉指定文件,返回0表示成功,返回-1表示失敗。格式二格式二status=fclose(all)功能: 關閉所有文件,返回0表示成功,返回-1表示失敗。 第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法5fread格式一:格式一:A, count=fread(f_id, size, 精度精度) 功能:從指定文件中讀入二進

32、制數據,將數據寫入到矩陣A中;可選輸出count返回成功讀入元素個數;f_id為整數文件標識,其值由fopen函數得到;可選參數size確定讀入多少數據,如果不指定參數size,則一直讀到文件結束為止,參數size合法選擇有: n :讀入n個元素到一個列向量; inf :讀到文件結束,返回一個與文件數據元素相同的列向量; m, n:讀入足夠元素填充一個mn階矩陣,填充按列順序進行,如果文件不夠大,則填充0。精度表示讀入數據精度的字符串,控制讀入每個值的數據位,這些位可以是整數型、浮點值或字符。格式二:格式二:A, count=fread(f_id, size,精度精度,skip)可選參數ski

33、p,指定每次讀操作跳過字節(jié)數,如果精度是某一種位格式,則每次讀操作將跳過相應位數。6fwrite功能:向文件中寫入二進制數據。格式一:格式一:count=fwrite (f_id, A,精度精度) 將矩陣A中元素寫入指定文件,將其值轉換為指定的精度。格式二:格式二:count=fwrite(f_id,A,精度精度,skip)可用參數skip指定每次寫操作跳過指定字節(jié)。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法7fscanf格式一:格式一:A=fscanf (f_id, 格式格式)從由f_id所指定的文件中讀入所有數據,并根據格式字符串進行轉換,并返回給矩陣A,格式字符

34、串指定被讀入數據的格式。格式二:格式二:A, count=fscanf(f_id,格式格式,size)讀入由size指定數量的數據,并根據格式字符進行轉換,并返回給矩陣A,同時返回成功讀入的數據數量count。8fprintf格式一:格式一:count=fprintf(f_id,格式格式,A,) 將矩陣A或其它矩陣的實部數據以格式字符串指定的形式進行規(guī)格化,并將其寫入指定的文件中,其返回值為寫入數據的數量。格式二:格式二: fprintf(格式格式,A,) 將A或其它值以格式給定的形式輸出到標準輸出顯示屏幕上。 第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法9fgets功

35、能:以字符串形式返回文件中的下一行內容,包含行結束符。格式一:格式一:ctr=fgets(f_id) 返回文件標識為f_id的文件中的下一行內容,如果遇到文件結尾(EOF),則返回-1,所返回的字符串中包括文本結束符,用fgetl()則返回的字符串中不包括行結束符。格式二:格式二:str=fgest(f_id,n) 返回下行中最多n個字符,在遇到行結束符或文件結束(EOF)時不追加字符。10fgetl功能:以字符串形式返回文件中的下一行內容,但不含行結束符。格式:格式:str=fgetl(f_id)返回文件標識為文件中的下一行內容,如果遇到文件結尾,則返回1,所返回的字符串中不包括行結束符。第

36、 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法11ferror功能:查詢MATLAB關于文件輸入、輸出操作的錯誤。messgeg=ferror(f_id) 將標識為f_id的已打開文件的錯誤信息返回給message變量。12feof功能:測試文件結尾(EOF)。格式:格式:eoftest=feof(f_id) 測試指定文件是否設置了EOF;如果返回1則表示設置了EOF指示器,返回0未設置。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法13imread 功能: 從圖像文件中讀入圖像格式一:格式一: A=imread(文件名,(文件名,圖像文件格式圖像文件

37、格式)將文件名指定的圖像文件讀入A,A為無符號8位整數(uint8)。如果文件為灰度圖像,則A為一個二維數組;如果文件是一個真彩色RGB圖像,則A是一個三維數組(m*n*3)。格式二:格式二:A, map=imread(文件名,(文件名,圖像文件格式圖像文件格式)讀入索引圖像到矩陣A,其調色板值返回給map,A為無符號8位整數(uint8),map為雙精度浮點數,其值在0,1范圍內。14imwrite :將圖像寫入圖像文件中。格式一:格式一: imwrite(A, 文件名,文件名,圖像文件格式圖像文件格式)格式二:格式二: imwrite(A,map,文件名,文件名,圖像文件格式圖像文件格式)

38、將A中的索引圖像及其相關的調色板map存放到指定文件。調色板map必須是MATLAB的有效調色板。注意大多數圖像文件格式不支持大于256條的調色板。15imfinfo 功能:返回圖像文件信息格式:格式: info=imfinfo(文件名,文件名,圖像文件格式圖像文件格式)返回一個圖像信息結構,或結構數組。圖像文件格式與imread函數的一樣。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法16auread功能: 讀入聲音文件(.au)格式一:格式一: Y=auread (aufile) 讀入由文件名aufile指定的聲音文件,返回采樣數據給變量Y。如果文件名中沒有擴展名,則

39、自動在其后加上.au作為擴展名。幅值在-1,1范圍內。支持多通道數據格式:8-bit mu-law;或 8-, 16-, 32-bitlinear。格式二:格式二: Y, Fs,bits=auread(aufile) 返回采樣率Fs(Hz)以及文件中每數據編碼時所用的位數(bits)。17Auwrite 功能:向文件(. au)中寫入聲音數據。格式一:格式一: auwrite(A, 文件名文件名. Au )向文件名. au指定的文件中寫入聲音數據,數據在A中以一個通道一列的方式安排,幅值超過-1, +1范圍時,在寫入前先進行剪裁處理。格式二:格式二: auwrite(A, Fs, 文件名文件名

40、. au )用指定的數據采樣Fs(Hz) 寫入聲音數據。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法18wavread功能: 讀入聲音文件(.wav)格式一:格式一: A=wavread (文件名文件名.wav) 讀入由文件名指定的Microsoft聲音文件(. wav),返回采樣數據給變量A。如果文件名中沒有擴展名,則自動在其后加上.wav作為擴展名,幅值在-1,1范圍內。格式二:格式二: A,Fs,bits=wavread(文件名文件名.wav) 返回采樣率Fs(Hz)以及文件中每數據編碼時所用的位數(bits)。19wavwrite功能:向Microsoft WA

41、V聲音文件(.wav)中寫入聲音數據格式一:格式一: wavwrite (A, 文件名文件名.wav)向指定的文件中寫入聲音數據,數據在A中以一個通道一列的方式安排,幅值超過-1, +1范圍時,在寫入前先進行剪裁處理。格式二:格式二: wavwrite(A, Fs, 文件名文件名.wav)用指定的數據采樣Fs(Hz) 寫入聲音數據。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.5 基本數學函數 2.5.1 三角函數1正弦正弦sin函數與反正弦函數函數與反正弦函數asin函數函數格式:格式:Asin(X)功能:對矩陣或數組X的每個元素求正弦值, 所有角度用弧度弧度表示。

42、格式:格式:Xasin(A)功能:對于A的元素求反正弦值,結果為弧度。例:例:(1 1)s=(0:0.1:1)*2*pi;y1=sin(s);y2=sin(t)+sin(s) (2) t=(1:0.2:2)*5*pi;z1=asin(t);z2=asin(t).*sin(t)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法3余弦余弦cos函數與反余弦函數函數與反余弦函數acos函數函數格式:格式:Acos(X)功能:對矩陣或數組X的每個元素求余弦值,所有角度用弧度表示。格式:格式:Xacos(A)功能:對于A的元素求反余弦值,結果為弧度。4雙曲余弦雙曲余弦cosh函數與反雙

43、曲余弦函數函數與反雙曲余弦函數acosh函數函數格式:格式:Acosh(X)功能:對矩陣或數組X的元素求雙曲余弦值。格式:格式:Xacosh(A)功能:對于A的元素求反雙曲余弦值。2 2雙曲正弦雙曲正弦sinhsinh函數與反雙曲正弦函數函數與反雙曲正弦函數asinhasinh函數函數格式:格式:A Asinh(Xsinh(X) )功能:對矩陣或數組X的每個元素求雙曲正弦值。格式:格式:Xasinh(A)功能:對于A的元素求反雙曲正弦值。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法6四象限反正切四象限反正切atan2函數函數格式:格式:P=atan2(Y,X)功能:四象

44、限反正切函數。返回大小與Y、X相同的矩陣或數組,由Y和X對應元素的實部求反正切值得到,其中虛部忽略。7 7雙曲正切雙曲正切tanhtanh函數與反雙曲正切函數與反雙曲正切atanhatanh函數函數格式:格式:A Atanh(Xtanh(X) )功能:對于X的每個元素求雙曲正切值。格式:格式:Xatanh(A)功能:對于A的每個元素求反雙曲正切值。 5正切正切tan函數與反正切函數函數與反正切函數atan函數函數格式:格式:Atan(X)功能:對矩陣或數組X的每個元素求正切值,所有角度用弧度表示。格式:格式:Xatan(A)功能:對于A的每個元素求反正切值,結果為弧度。第 2 章 MATLAB

45、的基本語法第 2 章 MATLAB的基本語法9 9雙曲正割雙曲正割secsec函數與反雙曲正割函數與反雙曲正割asecasec函數函數格式:格式:A Asech(Xsech(X) )功能:對X的每個元素求雙曲正割。格式:格式:Xasech(A)功能:返回A的每個元素的反雙曲正割值。1010余割余割csccsc函數與反余割函數與反余割acscacsc函數函數格式:格式:A Acsc(Xcsc(X) )功能:對X的每個元素求正割。格式:格式:Xachc(A)功能:返回A的每個元素的反正割值。8 8正割正割secsec函數與反正割函數與反正割asecasec函數函數格式:格式:A Asec(Xsec

46、(X) )功能:對X的每個元素求正割。格式:格式:Xasec(A)功能:返回A的每個元素的反正割值。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法12余切余切cot函數與反余切函數與反余切acot函數函數格式:格式:A=cot(X)功能:對X的每個元素求余切。格式:格式:Xacot(A)功能:返回A的每個元素的反余切值。13雙曲余切雙曲余切coth函數與反雙曲余切函數函數與反雙曲余切函數acoth函數函數格式:格式:A=coth(X)功能:對X的每個元素求雙曲余切。格式:格式:Xacoth(A)功能:返回A的每個元素的反雙曲余切值11雙曲余割雙曲余割csch函數與反雙曲余

47、割函數與反雙曲余割asch函數函數格式:格式:A=csch(X)功能:對X的每個元素求雙曲余割。格式:格式:Xacsch(A)功能:返回A的每個元素的反雙曲余割值。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.5.2 2.5.2 指數、對數、冪運算指數、對數、冪運算 1指數指數exp函數與自然對數函數與自然對數log函數函數格式:格式:Aexp(X)功能:返回X每個元素的以e為底的指數值。格式:格式:Xlog(A)功能:返回A的每個元素的自然對數。2常用對數常用對數logl0函數函數格式:格式:Xlogl0(A)功能:對A的每個元素求常用對數。3 log2函數和冪函數

48、函數和冪函數pow2格式:格式:Xlog2(A)功能:對A的每個元素計算其以2為底的對數。格式:格式:A=pow2(X)功能:A的元素為2對X每個元素求冪得到。4平方根函數平方根函數格式:格式:A=sqrt(X)功能:返回對數組X每個元素求平方根的數組,如果元素為負或復數,則結果為復數。例子:例子:a=exp(4),b=pow2(10),c=log10(10)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.5.32.5.3復數的基本運算復數的基本運算 1求復數實部函數求復數實部函數real格式:格式:X=real(Z)功能:返回復數Z的每個元素的實部。2求復數的虛部函數

49、求復數的虛部函數imag格式:格式:Y=imag(Z)功能:返回復數Z的每個元素的虛部。3絕對值和復數模函數絕對值和復數模函數abs格式:格式:A=abs(Z)功能:返回Z每個元素的絕對值。如果Z的元素是復數,則返回其模。4求相角函數求相角函數angle格式:格式:P=angle(Z)功能:對Z的每個元素求相角。5共軛函數共軛函數conj格式:格式:C=conj(Z)功能:對Z的每個元素求共軛復數。例:例:a=1+i,2+2i,3+3i; b=4+5i,6+7*i,8+9*i;求實部、虛部、模、相角求實部、虛部、模、相角和共軛和共軛。第 2 章 MATLAB的基本語法第 2 章 MATLAB的

50、基本語法2.5.42.5.4數據的取舍與保留數據的取舍與保留1向向0方向取整數函數方向取整數函數fix格式:格式:I=fix(X)返回X中每個元素的最靠近零的整數。若X為復數,則分別對X的實部和虛部取整。2向向-方向取整數函數方向取整數函數floor格式:格式:I=floor(X)返回X中每個元素的最靠近該元素的最小整數。若X為復數,則分別對X的實部和虛部取最小整。3向向方向取整數函數方向取整數函數ceil格式:格式:I=ceil(X)返回X中每個元素的最靠近該元素的最大整數。若X為復數,則分別對X的實部和虛部取最大整數。4四舍五入取整數函數四舍五入取整數函數round格式:格式:I=roun

51、d(X)返回X中每個元素的最靠近該元素的整數。若X為復數,則分別對X的實部和虛部取整數。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法5模數余函數模數余函數mod格式:格式:M=mod(X,Y)返回X關于Y的余數。6除后余數函數除后余數函數rem格式:格式:M=rem(X,Y)功能:返回X關于Y的余數。7符號函數符號函數sign格式:格式:s=sign(X)如果X大于零,則返回1;如果X等于零,則返回0;如果X小于零,則返回-1。如果X為復數,則算法為:sign(X) = X ./ abs(X)。例:例:I1=mod(16,3),I2=mod(-16,3), I3=mod

52、(16,-3)例例 :I1=rem(16,3),I2=rem(-16,3), I3=rem(16,-3)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.6 基本繪圖方法基本繪圖方法2.6.1 圖形窗口的控制 在MATLAB中,圖形的繪制必須在圖形窗中進行。通常,只要執(zhí)行了任意一種繪圖命令,圖形窗口(Figure)就會自動產生。此時,所生成的圖形窗口稱為當前圖形窗,繪圖命令所繪制的圖形將在當前圖形窗中完成。1figure命令命令格式:格式:figure 或或 figure(N) 功能:創(chuàng)建一個圖形窗口。使編號為N的圖形窗口成為當前圖形窗口,即圖形窗口處于可視狀態(tài)。如果窗口

53、N不存在,則將創(chuàng)建一個句柄為N的圖形窗口。2clf命令命令:清除當前圖形窗口中的所有的內容。格式:格式:clf3close命令命令:關閉圖形窗口格式一:格式一:close 或或 close (N) 關閉當前圖形窗口或指定編號關閉當前圖形窗口或指定編號N的圖形窗口。的圖形窗口。格式二:格式二:close all 關閉所有圖形窗口。關閉所有圖形窗口。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法4hold命令命令格式:格式:hold on (off)功能:保持當前圖形窗的內容,或取消hold on的命令功能,恢復系統默認狀態(tài)。通常,MATLAB在執(zhí)行某一繪圖命令時,系統會自動

54、將當前圖形窗口中的內容清除,然后再繪制。hold命令的功能就是保持當前圖形窗的內容,使后續(xù)繪制函數仍可該圖形窗口中完成繪圖,實現一張圖中繪制多個圖形。若再鍵入hold命令就解除凍結。這種拉線開關式的控制有時會造成混亂,可以用hold on和hold off命令來得到確定的狀態(tài)。5subplot命令命令功能:將一個圖形窗口劃分為多個子圖形窗口格式:格式:subplot(m,n,p) 或或 subplot(nmp)將圖形窗口分成nm個子圖形窗口,并選擇第p個子圖形窗口作為當前圖形窗口,供繪制函數作圖使用。第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2.6 基本繪圖方法基本繪

55、圖方法1. 二維圖形繪制命令二維圖形繪制命令plot MATALB為用戶提供了一個基本的二維曲線繪圖函數plot。格式一:格式一: plot(y)-輸入一個數組的情況輸入一個數組的情況功能:如果y是一個數組,函數plot(y)給出線性直角坐標的二維圖,該二維圖以y中元素的下標作為X坐標,y中元素的值作為Y坐標,一一對應畫在XY坐標平面圖上,而且將各點以直線相連。若y的元素是復數,則plot(y)等價于plot(real(y),imag(y),其中real(y)是y的實部,imag(y)是y的虛部。若y是矩陣,就按列繪制曲線,曲線的條數等于y矩陣的列數。格式二:格式二: plot(x,y)-輸入

56、兩個數組的情況輸入兩個數組的情況功能:繪出以x元素為橫坐標、y元素為縱坐標的曲線。數組x和y必須具有相同長度。2.6.2 2.6.2 二維圖形的繪制二維圖形的繪制 例例(1) y=5*(rand(1,10)-.5);plot(y).(2) title(my first plot),xlabel(n);ylabel(Y),grid例例: close all;clear; t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法2線型、標記符號及顏色的設置線型、標記符號及顏色的設置為了設定線型、顏色以

57、及標記符號,用戶只需在plot的輸入變量組后面,加一個引號,在引號內部放入線型、顏色以及標記符號的標志符即可完成。格式一:格式一: plot(y,字符串字符串) 格式二:格式二:plot(x, y,字符串字符串)3圖形的標注、網格以及圖例說明圖形的標注、網格以及圖例說明(1) 添加圖形標題命令添加圖形標題命令title 格式:格式:title(string)功能:在當前坐標系的頂部加一個文本串string,作為該圖形的標題。(2) 添加坐標軸標志函數添加坐標軸標志函數xlabe、 ylabel、zlabel格式:格式:xlabel(text) 或或 ylabel(text) 或或zlabel(

58、text)功能:給當前X軸或Y軸或Z軸標注文本標注。例:例:t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,*b)例:例: t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,:k)例:例: t=0:0.02:2;y=3*sin(t).*exp(-2*t); plot(t,y,+r-)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法(3)設置網格線命令設置網格線命令grid格式:格式:grid on(off)功能:對當前坐標圖加上網格線或撤消網格線。若直接調用grid命令即可設置或撤消網格線。(4)圖形

59、標注函數圖形標注函數legend格式:格式:legend( string1, string2,string3, .)功能:在當前圖中添加圖例。格式:格式:Legend off功能:撤消當前坐標圖上的圖例。(5)文本注釋函數文本注釋函數text,gtext格式格式(一一):text(X,Y,string)功能:在二維圖中(X,Y)位置標注文本注釋string。格式格式(二二):text(X,Y,Z,string) 功能:在三維圖中(X,Y,Z)位置標注文本注釋string。格式格式(三三):gtext(string) 功能:用鼠標拖動來確定標注文字string的位置。例子:例子:x=0:pi/5

60、0:2*pi;y=sin(x);y2=cos(x);figure(1);plot(x,y,k-,x,y2,b-);grid on;legend(sin(alpha),cos(alpha);text(pi,0,leftarrow sin(alpha);gtext(cos(alpha)rightarrow); title(sin(alpha)和和cos(alpha);xlabel(alpha);ylabel(sin(alpha)和和cos(alpha)第 2 章 MATLAB的基本語法第 2 章 MATLAB的基本語法例:例:z=0:0.1:2*pi;x=sin(z);y=cos(z);subpl

溫馨提示

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

評論

0/150

提交評論