![Matlab入門教程(20201128165436)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/a5677bf4-4403-4db2-b0e3-2883e222e5ac/a5677bf4-4403-4db2-b0e3-2883e222e5ac1.gif)
![Matlab入門教程(20201128165436)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/a5677bf4-4403-4db2-b0e3-2883e222e5ac/a5677bf4-4403-4db2-b0e3-2883e222e5ac2.gif)
![Matlab入門教程(20201128165436)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/a5677bf4-4403-4db2-b0e3-2883e222e5ac/a5677bf4-4403-4db2-b0e3-2883e222e5ac3.gif)
![Matlab入門教程(20201128165436)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/a5677bf4-4403-4db2-b0e3-2883e222e5ac/a5677bf4-4403-4db2-b0e3-2883e222e5ac4.gif)
![Matlab入門教程(20201128165436)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/a5677bf4-4403-4db2-b0e3-2883e222e5ac/a5677bf4-4403-4db2-b0e3-2883e222e5ac5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 MATLAB操作基礎(chǔ) 1.1 MATLAB 概述 1.1.2 MATLAB的主要功能 1 數(shù)值計算 MATLAB以矩陣作為數(shù)據(jù)操作的基本單位,還提供了十分豐富的數(shù)值計算函數(shù) 2繪圖功能 可以繪制二維、三維圖形,還可以繪制特殊圖形(與統(tǒng)計有關(guān)的圖,例如:區(qū) 域圖、直方圖、餅圖、柱狀圖等) 。 3編程語言 MATLAB具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦?語言特征,而且簡單易學(xué)、編程效率高。 4. MATLAB工具箱 MATLAB包含兩部分內(nèi)容:基本部分和各種可選的工具箱。 MATLAB工具箱分為兩大類:功能性工具箱和學(xué)科性工具箱。 1.1.3MATLAB語言的特
2、點 ? 語言簡潔緊湊,使用方便靈活,易學(xué)易用。 例如:A=1 2 3;4 5 6;7 8 9一條語句實現(xiàn)了對3x3矩陣的輸入。 ? 語句功能強大,一條語句相當(dāng)于其它語言的一個子程序,例如 fft 。 ? 語句簡單,內(nèi)涵豐富。同一個函數(shù)有不同的輸入變量和輸出變量,分別 代表不同的含義。 ? Matlab 既具有結(jié)構(gòu)化的控制語句( 序設(shè)計。 ? 方便的繪圖功能。 ? 包含功能強勁的工具箱。 ? 易于擴展。 1.1.4 初識 MATLAB 例 1-1 繪制正弦曲線和余弦曲線。 x=0:0.5:360*pi/ 180; plot(x,sin(x),x,cos(x); 例 1-2 求方程 3x4+7x3
3、 +9x2-23=0 的 全部根。 p=3,7,9,0,-23;%建立多項式 系數(shù)向量 1.2 MATLAB的運行環(huán)境與安裝 1.2.1 MATLAB的運行環(huán)境 硬件環(huán)境: (1) CPU (2) 內(nèi)存 (3) 硬盤 1.2.2 MATLAB 的安裝 if、 for、 while )又支持面向?qū)ο蟮某?x=roots(p)%求根 例 1-3 求積分 quad(x.*log(1+x),0,1) 例 1-4 求解線性方程組。 a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b CD-RO M驅(qū)動器和鼠標(biāo) 軟件環(huán)境: (1) Windows 98/NT/2000
4、 或 Windows XP (2) 其他軟件根據(jù)需要選用 運行系統(tǒng)的安裝程序setup.exe,可以按照安裝提示依次操作。 1.3 MATLAB集成環(huán)境 1.3.1 啟動與退出MATLAB集成環(huán)境 1. MATLAB系統(tǒng)的啟動 與一般的Windows程序一樣,啟動MATLAB系統(tǒng)有3種常見方法: 使用Windows開始”菜單。 運行MATLAB系統(tǒng)啟動程序matlab.exe。 (3) 利用快捷方式。 I工作空閘 歷史命令 命令時I 當(dāng)MATLAB安裝完畢并首次啟動時,展現(xiàn)在屏幕上的界面為MATLAB的默認(rèn)界 面,如上圖所示。 2. MATLAB系統(tǒng)的退出 要退出MATLAB系統(tǒng),也有3種常見
5、方法: (1) 在MATLAB主窗口 File菜單中選擇 Exit MATLAB命令。 在MATLAB命令窗口輸入 Exit或Quit命令。 單擊MATLAB主窗口的“關(guān)閉”按鈕 1.3.2 主窗口 MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外, 還 主要包括菜單欄和工具欄。 1. 菜單欄 在 MATLAB 6.5 主窗口的菜單欄,共包含 File、Edit、View、Web、Window 和 Help 6個菜單項。 (1) File菜單項:File菜單項實現(xiàn)有關(guān)文件的操作。 Edit菜單項:Edit菜單項用于命令窗口的編輯操作。 (3) View菜單項:View
6、菜單項用于設(shè)置 MATLAB集成環(huán)境的顯示方式。 (4) Web菜單項:Web菜單項用于設(shè)置 MATLAB的 Web操作。 (5) Window菜單項:主窗口菜單欄上的 Window菜單,只包含一個子菜單 Close all,用于關(guān)閉所有打開的編輯器窗口,包括 M-file、Figure、Model和GUI窗口。 (6) Help菜單項:Help菜單項用于提供幫助信息。 1.3.3命令窗口 命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有 執(zhí)行結(jié)果。 MATLAB 命令窗口中的“ ”為命令提示符,表示 MATLAB 正在處于準(zhǔn)備狀態(tài)。 在命令提示符后鍵入命令并按下回車鍵
7、后, MATLAB 就會解釋執(zhí)行所輸入的命 令,并在命令后面給出計算結(jié)果。 一般來說,一個命令行輸入一條命令,命令行以回車結(jié)束。但一個命令行也可 以輸入若干條命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號 可以省略。例如 xx=5,yy=3 xx=5;yy=3 多行命令()-續(xù)行符 如果命令語句超過一行或者太長希望分行輸入,則可以使用多行命令繼續(xù) 輸入。 S=1-12+13+4+ 9-4-18; 3 個小黑點稱為續(xù)行符,即把下面的物理行看作該行的續(xù)行。 1.3.4 工作空間窗口 工作空間是MATLAB用于存儲各種變量和結(jié)果的內(nèi)存空間。在該窗 口中顯示工作空間中所有變量的名稱、大小、字
8、節(jié)數(shù)和變量類型說明,可對變 量進行觀察、編輯、保存和刪除。 1.3.5 當(dāng)前目錄窗口和搜索路徑 1 當(dāng)前目錄窗口 當(dāng)前目錄是指 MATLAB 運行文件時的工作目錄,只有在當(dāng)前目錄或搜索路徑下 的文件、函數(shù)可以被運行或調(diào)用。 在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件 并提供搜索功能。將用戶目錄設(shè)置成當(dāng)前目錄也可使用 cd 命令。例如,將用戶 目錄 c:mydir 設(shè)置為當(dāng)前目錄,可在命令窗口輸入命令:cd c:mydir 2. MATLAB的搜索路徑 在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序?qū)ふ蚁嚓P(guān)的文 件。基本的搜索過程是: (1) 檢查該命令是
9、不是一個變量。 (2) 檢查該命令是不是一個內(nèi)部函數(shù)。 (3) 檢查該命令是否當(dāng)前目錄下的 M 文件。 (4) 檢查該命令是否MATLAB搜索路徑中其他目錄下的 M文件。 1.3.6 命令歷史記錄窗口 在默認(rèn)設(shè)置下,歷史記錄窗口中會自動保留自安裝起所有用過的命 令的歷史記錄,并且還標(biāo)明了使用時間,從而方便用戶查詢。而且,通過雙擊 命令可進行歷史命令的再運行。如果要清除這些歷史記錄,可以選擇 Edit 菜單 中的 Clear Command History 命令。 1.3.7 啟動平臺窗口和 Start 按鈕 MATLAB 6.5 的啟動平臺窗口可以幫助用戶方便地打開和調(diào)用 MATLAB的各種程
10、序、函數(shù)和幫助文件。 MATLAB 6.5主窗口左下角還有一個 Start 按鈕,單擊該按鈕會彈出一個 菜單,選擇其中的命令可以執(zhí)行 MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB 包含的各種資源。 1.4 MATLAB幫助系統(tǒng) 1.4.1 幫助窗口 進入幫助窗口可以通過以下 3 種方法: (1)單擊MATLAB主窗口工具欄中的Help按鈕。 在命令窗口中輸入 helpwin、helpdesk或doc。 選擇Help菜單中的“ MATLAB Help”選項。 1.4.2 幫助命令 MATLAB幫助命令包括help、lookfor以及模糊查詢。 1 help 命令 (1)直接輸入help命
11、令將會顯示當(dāng)前幫助系統(tǒng)中所包含的所有項目; (2)help 加函數(shù)名來顯示該函數(shù)的幫助說明。 2lookfor 命令 help 命令只搜索出那些關(guān)鍵字完全匹配的結(jié)果, lookfor 命令對搜索范圍內(nèi)的 M 文件進行關(guān)鍵字搜索,條件比較寬松。 lookfor 命令只對 M 文件的第一行進行關(guān)鍵字搜索。 若在 lookfor 命令加上 -all 選 項,則可對 M 文件進行全文搜索。 3模糊查詢 MATLAB 6.0以上的版本提供了一種類似模糊查詢的命令查詢方法,用戶只需 要輸入命令的前幾個字母,然后按Tab鍵,系統(tǒng)就會列出所有以這幾個字母開頭 的命令。 1.4.3 演示系統(tǒng) 在幫助窗口中選擇演
12、示系統(tǒng)(Demos)選項卡,然后在其中選擇相應(yīng)的演示模 塊,或者在命令窗口輸入 Demos,或者選擇主窗口 Help菜單中的Demos子菜單, 打開演示系統(tǒng)。 第 2 章 Matlab 及其應(yīng)用 2.1、MATLAB的基本矩陣運算 2.1.1 簡單矩陣輸入 1 、命令行簡單鍵盤輸入 用于很少數(shù)據(jù)輸入 矩陣的方向: , ; NaN Inf 2、文件形式輸入 文本文件:從文本文件中讀入數(shù)據(jù) mat 文件: matlab 自有的數(shù)據(jù)格式 2.1.2 語句生成矩陣 1 、線性等間距格式矩陣 (1)X=起始值:增加值:結(jié)束值 (2)linspace 命令 a=linspace(1,10,5); (3)l
13、ogspace 命令 b=logspace(0,2,10) 2、矩陣連接 c=a b; 生成矩陣的函數(shù) zeros ones eye randn 2.1.3 矩陣運算 乘方運算符最咼 1、矩陣的運算符 + :加法 :減法 *:乘法;點乘:.* /:右除;右除:./ :左除;左除:. A :乘方 2、矩陣的轉(zhuǎn)置等運算 共軛轉(zhuǎn)置;轉(zhuǎn)置 inv:矩陣求逆 det :求行列式值 eig:求特征值與特征向量 運算規(guī)則:從左到右;先乘除后加減; a / b (除法);a b (左除法) ba 對矩陣:Ax b 1 x A b Inv(A)*b; x A b (1) 兩矩陣加減,前提是維數(shù)相同,進行加減運算
14、時,對應(yīng)的元素進行加減; (2) 矩陣與標(biāo)量加減,用矩陣中的每個元素都與標(biāo)量進行加減運算; (3) 兩矩陣相乘,前提是前一矩陣的列等于后一矩陣的行,與數(shù)學(xué)約定一樣; (4) 矩陣與標(biāo)量相乘,用矩陣中的每個元素都與標(biāo)量進行相乘; (5) 矩陣中的元素對元素的相乘:.* 矩陣中的元素對元素的相除:./. z=x4y x,y 均為向量:z(i)=x(i) Ay(i) x為向量,y為標(biāo)量:z(i)=x(i) Ay x為標(biāo)量,y為向量:z(i)=xAy(i) 2.1.4矩陣的超越函數(shù) 函數(shù) 名 含義 abs 絕對值或者復(fù)數(shù) 模 sqrt 平方根 real 實部 imag 虛部 conj 復(fù)數(shù)共軛 rou
15、nd 4舍5入到整數(shù) fix 舍入到最接近0的 整數(shù) floor 舍入到最接近S 的整數(shù) ceil 舍入到最接近的 整數(shù) 函數(shù) 名 含義 sign 符號函數(shù) rem 留數(shù) sin 正弦 cos 余弦 tan 正切 asi n 反正弦 acos 反余弦 ata n 反正切 ata n2 第四象限反正切 函數(shù) 名 含義 si nh 雙曲正弦 cosh 雙曲余弦 tanh 雙曲正切 exp 自然指數(shù) 2.2關(guān)系和邏輯運算 log 自然對數(shù) log10 以10為底的對數(shù) 1、關(guān)系操作符 MATLAB常用的關(guān)系操作符有: (小于)、(大于)、=(大于或等于)、 =(等于)、=(不等于)。 (2) MAT
16、LAB的關(guān)系操作符可以用來比較兩個大小相同的數(shù)組,或者比較一個數(shù)組 和一個標(biāo)量。在與標(biāo)量比較時,結(jié)果和數(shù)組大小一樣。 (3) 如果滿足指定的關(guān)系,返回1,否則返回0。 ?a=1:9; b=a4 b =000011111 ?c=a(a4) c =56789 2、邏輯操作符 (1) 邏輯操作符定義了一種與或非的關(guān)系表達式。 MATLAB的邏輯操作符有 4 5 6; 7 8 9; B(2,: )= B=1 2 3 2、為了提取矩陣a的第n行、第m列的元素值,使用a(n,m)可以得到。同樣, 將矩陣a的第n行、第m列的元素值賦為r,使用a(n,m)=r這樣的命令。 注意:在提取矩陣值時,行或列的值大于
17、矩陣的大小,則出錯;在給矩 陣賦值時,如果行或者列超出矩陣的大小,貝U MATLAB自動擴充矩陣的規(guī)模, 使得可以賦值,擴充部分以零填充。 3、利用矩陣下標(biāo),MATLAB還提供了子矩陣功能。同樣是上面的a(n,m),如果n 和m是向量,而不是標(biāo)量,則將獲得指定矩陣的子塊 . 4、 同樣,矩陣的子塊還可以被賦值。如果在取子塊時,n或m是“:,”則返回指 定的所有行或列 5、矩陣的序號編址:按列計數(shù)。 2.3.2矩陣大小 1、在MATLAB命令行中,使用 2、為了獲得矩陣或者向量的大小 len gth。 3、size按照下面的形式使用: 只有一個輸出變量時,size返回一個行向量,第一個數(shù)為行數(shù),
18、第二個數(shù)為列數(shù); 如果有兩個輸出變量,第一個返回量為行數(shù),第二個返回數(shù)為列數(shù)。(2)當(dāng)使 用x時:x=1返回行數(shù),x=2返回列數(shù),這時只有一個返回值。 4、length返回行數(shù)或者列數(shù)的最大值,即length(a)=max(size(a)。 2.3.3矩陣操作函數(shù) MATLAB提供了一組執(zhí)行矩陣操作的函數(shù),例如:flipud(a)使得矩陣上下翻轉(zhuǎn), fliplr(a)使得矩陣左右翻轉(zhuǎn) 2.3.4矩陣查找和排序 1、子矩陣的查找使用find命令完成,它返回關(guān)系表達式為真的下標(biāo)。例如: ?a=10:20; ?fin d(a15) ans = 7891011 2、矩陣的排序使用sort函數(shù),它將矩陣
19、按照升序排列 2.4時間和日期 1、日歷函數(shù):calendar 2、時間函數(shù):clock 3、查看 CPU 時間:cputime 4、日期函數(shù):date 5、秒表定時: tic toc 2.5退出和保存工作空間: 1、 save:工作空間中的所有變量保存在磁盤上名為matlab.mat的文件中。 2、save文件名變量名 將指定的變量保存在指定的文件中。 如:save temp x y z 把x y z這3個變量保存在文件temp.mat中。 3、下次加載MATLAB時,可以利用load命令將保存在文件中的變量恢復(fù)到工作 空間中,其格式為: (1)load將保存在 matlab.mat中的變量
20、裝入到 matlab空間中。 (2) load 文件名變量名從指定文件中將指定的變量裝入到 matlab的工作空 間中。如:load temp x從文件temp.mat中只將變量x裝入到 matlab的工作 空間中。 2.6 Matlab的變量 1、基本運算 變量 逗號、分號的意義 行內(nèi)編輯、注釋、運算規(guī)則 2、變量要求 變量區(qū)分字母的大小寫 名字不能超過31個字符 變量必須以字母開頭,之后可以是任意字母、數(shù)字或者下劃線 變量中不能含有標(biāo)點符號 2.6.1 特殊變量 特殊變顯 取值 用于結(jié)果的缺省變量名 pi 圓周率 ep? 計算機的最小數(shù) inf 無窮大如10 nrui 不等量如0 0 i
21、J 函數(shù)的輸入變量數(shù)目 nargout 函數(shù)的輸出變量數(shù)目 realmui 最小的可用正實數(shù) reahnax 最大的可用正實數(shù) 2.6.2復(fù)數(shù) 不需要特殊的處理,可以直接進行。 復(fù)數(shù)可以表示為:a=10-9i 2.6.3 MATLAB數(shù)據(jù)類型: 雙精度型、字符型、稀疏型、單元型、結(jié)構(gòu)型、8位型 最常使用的是雙精度型和字符型;稀疏型用于稀疏矩陣;單元型和結(jié)構(gòu)型用于 編寫大型軟件;8位型(6.0以上版本:16位型、32位型)用于圖象處理。 1、雙精度型(double): 在缺省情況下,當(dāng)結(jié)果為整數(shù),作為整數(shù)顯示;當(dāng)結(jié)果為實數(shù),以小數(shù)后4 位的精度近似顯示。 如果結(jié)果中的有效數(shù)字超出了這一范圍,以科
22、學(xué)計數(shù)法顯示結(jié)果。 2、字符型 (char): a=sss;bbb a =sss bbb (1)字符數(shù)組的定義:字符數(shù)組就是字符串,字符串中的每一個字符在系統(tǒng)內(nèi) 部都相應(yīng)地表示一個數(shù)值。 a=You are welcome! a =You are welcome! size(a) ans = 1 16 相關(guān)函數(shù) A、函數(shù)disp用來顯示字符串:disp(Hello)Hello B、 判斷一個變量是否為字符型數(shù)組,可以用函數(shù)class或ischar。 x=class(a) y=ischar(a) x =char y = 1 (2) 字符與數(shù)值的相互轉(zhuǎn)換: double :將一個字符串轉(zhuǎn)換為一個數(shù)
23、值 char:將數(shù)值轉(zhuǎn)換為字符串 s=Good morning! s1=double(s) s2=char(s1) s =Good morning! 105 s1 =7111111110032109111114110 110 103 33 s2 =Good morning! (3) 字符串的比較 A、strcmp :判別兩個字符串是否相等 B、strncmp :判別兩個字符串的前n個字符是否相等 s1=glisten;s2=glitter; a1=strcmp(s1,s2) a2=strncmp(s1,s2,3) a1 =0 a2 =1 (4) 二維字符數(shù)組: 創(chuàng)建二維字符數(shù)組時,每行的長度要
24、相等。如果字符串長度不等,可以用空 格充填較短的字符串。 例如: s=abc ;defg s = abc defg 用 char 函數(shù)創(chuàng)建二維字符數(shù)組比較方便。當(dāng)字符串長度不等時, char 函數(shù) 可以自動地在較短的字符中加上一定數(shù)量的尾部空格,使其與最長字符串的長 度相等。 例如: y=char(abc,defg,abcde) z1=length(y) z2=size(y) y =abc defg abcde z1 =5 z2 =35 3、稀疏型(sparse)含有大量0的矩陣,稱為矩陣。只存儲矩陣中的非 0元素 speye(4) 生成單位稀疏矩陣 ans = (1,1) 1 (2,2) 1
25、 (3,3) 1 (4,4) 1 4、單元型(cell):把不同類型的數(shù)據(jù)存儲在一起的數(shù)組稱為單元數(shù)組。單元數(shù)組中 的每個元素是其他任意一種數(shù)據(jù)類型,通常可以將相關(guān)的尺寸大小不同的數(shù)據(jù) 組合在一起。 a=1,good,1 2 3 a =1 good 1x3 double (1) 創(chuàng)建單元數(shù)組: cell c=cell(n):生成一個n*n維的空數(shù)組 c=cell(m,n):生成一個 m*n維的空數(shù)組 c=cell(size(A):生成一個和所包含的數(shù)組 A階數(shù)完全相同的空數(shù)組 EX1: A=eye(2) c=cell(size(A) A =10 01 c = EX2給單元數(shù)組賦值 D=cell
26、(1,3) D1,1=Good; D1,2=1 2;4 5;D1,3=1+4i; D D = D = Good 2x2 double 1.0000+ 4.0000i EX3利用直接輸入的方法創(chuàng)建單元數(shù)組,單元數(shù)組的下標(biāo)用圓括號括起來,右 邊是單元數(shù)組的內(nèi)容,用花括號括起來。 Aa(1,1)=GOOD;Aa(1,2)=200;Aa(2,1)=5-6i;Aa(3,2)=1 2;4 5 Aa = GOOD200 5.0000- 6.0000i 2x2 double (2) 單元數(shù)組的顯示 A、直接顯示 Aa Aa = GOOD 5.0000- 6.0000i 200 2x2double (3)單元數(shù)
27、31的運算 恥丄”= GOOD Aa2rl 5P0000 - 6,OOOOi As = J As(lr2= 200 A2;2 = 】 A3t2= 1 2 B、利用函數(shù)顯示 celldisp(Aa) celldisp(Aa,Bb) C、利用圖形顯示單元數(shù)組 cellplot(Aa) cellplot(Aa, lege nd ) X=ceU(2f3) X1,2=Welcome1; Xlf3=ones(4); X2,3=1 2 3;4 5 6;7 8 9 Da=sum(X13 Db=sum(X2,3) X = X = ;Welcome1 4x4 double J3x3 double Da = 444
28、4 Db = 121518 (4) 單元數(shù)組的變形 E=reshape(X,1,6) cellplot(E) E = Welcome 4x4 double 3x3 double (5) 字符型單元數(shù)組:由于字符矩陣要求矩陣的每一行的長度相等,需要在字 符串的尾端加入空格,在讀取的時候,又常常將末尾的空格去掉,很不方便。 由于單元數(shù)組允許不同的單元內(nèi)有不同類型和長度的數(shù)據(jù),問題就可以避免。 cellstr:將標(biāo)準(zhǔn)的字符型數(shù)組轉(zhuǎn)換為字符型單元數(shù)組。 EX1: ne=aaa;bb ; cellstr(ne) ans = aaa bb 5、結(jié)構(gòu)型 (struct): 把不同類型的數(shù)組存儲在一起的數(shù)組稱
29、為結(jié)構(gòu)數(shù)組。結(jié)構(gòu)數(shù)組 相當(dāng)于數(shù)據(jù)庫的記錄。結(jié)構(gòu)數(shù)組中不同類型的數(shù)組是通過不同的域名來區(qū)分的。 在 MATLAB 的結(jié)構(gòu)數(shù)組中,每個元素都是由不同的數(shù)據(jù)類型所組成的,不同的 數(shù)據(jù)類型分別放在不同的數(shù)據(jù)區(qū)域里,稱為結(jié)構(gòu)數(shù)組的域。 (1)建立結(jié)構(gòu)數(shù)組 A、利用函數(shù)struct建立結(jié)構(gòu)數(shù)組 調(diào)用格式: s=struct(field 1,values 1,field 2,values 2,) 例 sxx=struct(name,zhao,Li,wang,age,20,21,29,address,changda)% 注意:所有的address都賦相同的值 sxx(1) sxx(2) B、利用賦值語句直接生
30、成結(jié)構(gòu)數(shù)組 =zhou; sss.age=10; sss.address=changda; sss =zhao sss = name: zhao age: 10 address: changda sss(3).address=chang an sss = 1x3 struct array with fields: name age address 相關(guān)函數(shù) A、getfield :獲取結(jié)構(gòu)數(shù)組中某個域的內(nèi)容 B、setfield :設(shè)置結(jié)構(gòu)數(shù)組中某個域的內(nèi)容 C、rmfield :刪除結(jié)構(gòu)數(shù)組的域 D、isfield :判斷某個變量域是否是一個結(jié)構(gòu)數(shù)組的域 E、
31、isstruct :判斷某個變量域是否是一個結(jié)構(gòu)數(shù)組 第 3 章 Matlab 編程基礎(chǔ) 3.1 Matlab 程序設(shè)計 1、設(shè)置完整的路徑; (1)對于用戶程序中使用的文件名和變量名,系統(tǒng)按照以下順序搜索: A、查找對象是否是工作空間的變量; B、查找對象是否是系統(tǒng)的內(nèi)部函數(shù); C、查找對象是否是在系統(tǒng)的當(dāng)前目錄下。 (2)路徑設(shè)置的方法: A、在命令窗口下使用cd命令; B、在菜單欄下的Current directory下。 2、參數(shù)值要集中放在程序的開始部分,便于維護; 3、每行程序后輸入分號,則執(zhí)行程序行不會顯示在屏幕上;如果不輸入分號, 則執(zhí)行程序行會顯示在屏幕上; 4、符號“ %”
32、后的內(nèi)容是注釋行; 5、如果語句在一行中放不下,則可以在行末鍵入三個點(),指示下一行為續(xù) 行; 6、遇到不明白的命令,多使用在線幫助命令或系統(tǒng)演示示例; 7、盡量使程序模塊化,采用主程序調(diào)用子程序的方法,將所有子程序合并在一 起來執(zhí)行全部的操作。 MABLAB程序的基本組成部分: %說明部分 清除命令(可選) 定義變量(局部變量和全局變量) 按照順序行執(zhí)行的命令語句 控制語句開始 控制語句體 控制語句結(jié)束 其他命令(如繪圖等) 3.1.2 Matlab 的工作方式有二種 1. 交互式的指令操作方式。 即用戶在命令窗口中輸入命令并按下回車鍵后, 系 統(tǒng)執(zhí)行該指令并立即給出運算結(jié)果。 2. m
33、文件的編程方式。 m 文件是由 matlab 語句構(gòu)成的文件 ,且文件名必須 以.m為擴展名,如ex.m。用戶可以用任何文件編輯器來對 M文件進行編輯。 MATLAB語言編寫的磁盤文件稱為 M文件,擴展名為m,格式為*.m , M文件可 以互相調(diào)用,也可以調(diào)用它自己。 ( 1) M 文件在功能上分為: A、底稿文件 對于簡單的問題,在命令窗口的 MATLAB提示符下,輸入 MATLAB的語句,這 樣可以快速有效地得到結(jié)果。 當(dāng)問題比較復(fù)雜時,需要執(zhí)行一系列語句,在 MATLAB 提示符下鍵入語句就變 的很麻煩。對這個問題,MATLAB提供了一種邏輯解決方案,允許用戶把MATLAB 命令放在一個
34、簡單的文本文件中,這些文件稱為底稿文件。 B. 函數(shù)文件 a. 格式:function f1,f2,=(x,y,z, ) 其中 x,y,z, 是形式輸入?yún)?shù), f1,f2, 為返回的形式輸出參數(shù)值, fun 為形式函數(shù) 名,函數(shù)名一般就是這個函數(shù)文件的文件名。 b. 文件前面幾行由開始的語句構(gòu)成了 M文件的幫助信息,當(dāng)鍵入: help 文件名 可得到文件的說明信息。(help為在線幫助) (2)函數(shù)文件和底稿文件的區(qū)別 : a、 形式上,函數(shù)文件第一行必須包含關(guān)鍵字function,且有函數(shù)名和 輸入輸出形式參數(shù),而底稿文件沒有; b、函數(shù)文件可以傳遞參數(shù),底稿文件不具備參數(shù)傳遞功能; c、函
35、數(shù)文件中定義及使用的變量都是局部變量,只在本函數(shù)內(nèi)有效, 底稿文件中定義及使用的變量都是全局變量,在退出文件后仍有效。 3.1.3 程序流程控制 1. 順序結(jié)構(gòu): Matlab 從上到下依次執(zhí)行各語句,該結(jié)構(gòu)最簡單。 2. 循環(huán)結(jié)構(gòu) (1) for-end 循環(huán) 用于循環(huán)次數(shù)事先確定的,格式為 for i=n:s:m(初值:步長:終值) 語句體 end s 為步長,可以為正數(shù),負(fù)數(shù)或小數(shù)。 例如, ?說明:變量x通常稱為循環(huán)變量。循環(huán)變量可以是一個數(shù)組。如果循環(huán)變 量是數(shù)組,在for和end語句之間的commands按數(shù)組中的每一列執(zhí)行一 次。在每一次迭代中, x 被指定為數(shù)組的下一列,即在第
36、 n 次循環(huán)中, x=array(:, n)。 / 把矩陣 x 的每一列元素依次賦給變量 A x=0 2 3;4 7 9 for a=x b=a+4 end 運行結(jié)果: 0 4 4 8 6 11 7 13 x = 與For循環(huán)相關(guān)的其它規(guī)定: (1) For循環(huán)不能用For循環(huán)內(nèi)重新賦值循環(huán)變量n來終止。 (2) For循環(huán)可以嵌套。 (3) 當(dāng)有一個等效的數(shù)組方法來解給定的問題時,應(yīng)避免用For 循環(huán)。例如, ? n=1:10; ? x=sin(n*pi/ 10) (4) 為了得到最大的速度,在For循環(huán)(While循環(huán))被執(zhí)行之前,應(yīng)預(yù)先分配數(shù)組。 例如,在For循環(huán)內(nèi)每執(zhí)行一次命令,變量
37、 x的大小增加1。迫使MATLAB每通 過一次循環(huán)要花費時間對x分配更多的內(nèi)存。為了消去這個步驟,F(xiàn)or循環(huán)的例 子應(yīng)重寫為 x=zeros(1,10);% preallocated memory for x ? for n=1:10 ? x(n)=sin(n*pi/ 10); ? end (2)while-end 循環(huán) 用于循環(huán)次數(shù)不能事先確定的,格式為 while 表達式 語句體 end 只有表達式為真,就執(zhí)行語句體,表達式為假,終止該循環(huán)。 說明:表達式可以是一個矩陣,且矩陣中的所有元素都為非 0 時,才執(zhí)行 循環(huán)體中的內(nèi)容。如果表達式為一空矩陣,則循環(huán)體中的內(nèi)容永遠(yuǎn)不會被執(zhí)行。 注意:
38、要想在任何時候終止循環(huán)( for 或 while 循環(huán)),可利用 break 語句 num=1;a=0; while num5 % number of apples % cost of apples % give 20% discount for larger purchases cost=(1-20/100)*cost; end cost cost = 200 4.Switch 分支結(jié)構(gòu)語句 格式為 switch 表達式 0 case 表達式 1 的值 命令 1 case 表達式 2 的值 命令 2 otherwise 命令行 n end switch 語句可以根據(jù)一個變量或表達式的值執(zhí)行特
39、定的語句。先計算 switch后邊表達式0的值,然后檢查case子句后面的值是否與表達式 0的值相 等,如表達式1的值與之相等,則執(zhí)行命令行1,否則繼續(xù)檢查第二個case子 句,如果所有case子句的值都不等于表達式0的值,貝U執(zhí)行otherwise后面的命 令行 n。 在switch中,如果一個case條件滿足,執(zhí)行完這個case后,直接跳到end 語句后面的語句,不在判斷其他 case語句。 5、return 語句 用來終止當(dāng)前正在執(zhí)行的函數(shù)中的命令,返回調(diào)用它的函數(shù)。 第4章 MATLAB多項式計算 4.1 多項式 4.1.1 多項式的表示 Matlab 中用按降冪排列的多項式系數(shù)組成的
40、行向量表示多項式 , 如:p(x)=xA3-2x-5被表示為: p = 1 0 -5; 1多項式的加減運算 2多項式乘法運算 函數(shù)conv(P1,P2)用于求多項式P1和P2的乘積。這里,P1、P2是兩個多項式系 數(shù)向量。 例4-1求多項式x4+8x3-10與多項式2/-X+3的乘積 3多項式除法 函數(shù)Q,r=deconv(P1,P2)用于對多項式P1和P2作除法運算。其中Q返回多 項式P1除以P2的商式,r返回P1除以P2的余式。這里,Q和r仍是多項式系 數(shù)向量。 deconv是conv的逆函數(shù),即有 P仁conv(P2,Q)+。 例4-2 求多項式x4+8x3-10除以多項式2x2-x+3
41、的結(jié)果。 4.1.2 多項式的導(dǎo)數(shù) 對多項式求導(dǎo)數(shù)的函數(shù)是: p=polyder(A):求多項式 A的導(dǎo)函數(shù) p=polyder(A,B):求A與B積的導(dǎo)函數(shù) p,q=polyder(A,B):求A/B的導(dǎo)函數(shù),導(dǎo)函數(shù)的分子存入 p,分母存入q。 上述函數(shù)中,參數(shù)A,B是多項式的向量表示,結(jié)果 p,q也是多項式的向量表示。 例 4-3 求有理分式的導(dǎo)數(shù)。 命令如下: P=1; Q=1,0,5; p,q=polyder(P,Q) 4.1.3 多項式的求值 兩種求多項式值的函數(shù): polyval(P,x) polyvalm(P,x) 兩者的區(qū)別在于前者是代數(shù)多項式求值,而后者是矩陣多項式求 值。
42、1 代數(shù)多項式求值 polyval 函數(shù)用來求代數(shù)多項式的值,其調(diào)用格式為:Y=polyval(P,x) 若x為一數(shù)值,則求多項式在該點的值;若x為向量或矩陣,則對向量或矩陣中 的每個元素求其多項式的值。 例4-4已知多項式x4+8x3-10,分別取x=1.2和一個2X3矩陣為自變量計算該多 項式的值。 2矩陣多項式求值 polyvalm函數(shù)要求x為方陣,它以方陣為自變量求多項式的值。 設(shè)A為方陣,P代表多項式x3-5x2+8,那么 polyvalm(P,A)的含義是: A*A*A-5*A*A+8*eye(size(A) 而polyval(P,A)的含義是: A. *A.*A-5*A.*A+8
43、*ones(size(A) 例4-5仍以多項式x4+8x3-10為例,取一個2X2矩陣為自變量分別用polyval和 polyvalm 計算該多項式的值。 4.1.4 多項式求根 n 次多項式具有 n 個根,當(dāng)然這些根可能是實根, 也可能含有若干對共軛復(fù) 根。MATLAB提供的roots函數(shù)用于求多項式的全部根,其調(diào)用格式為: x=roots(P) 其中P為多項式的系數(shù)向量,求得的根賦給向量x,即x(1),x(2), 分刖代 表多項式的 n 個根。 注意:根被儲存為列向量 例4-6求多項式/+8x3-10的根。 命令如下: A=1,8,0,0,-10; x=roots(A) 若已知多項式的全部
44、根,則可以用 poly 函數(shù)建立起該多項式,其調(diào)用格式為: P=poly(x) 若x為具有n個元素的向量,貝U poly(x)建立以x為其 根的多項式,且將該多項式的系數(shù)賦給向量P。 例 4-7 已知 f(x) (1) 計算 f(x)=0 的全部根。 由方程f(x)=0的根構(gòu)造一個多項式g(x),并與f(x)進行對比。 命令如下: P=3,0,4,-5,-7.2,5; X=roots(P)%求方程 f(x)=0 的根 G=poly(X)%求多項式 g(x) 4.1.5 多項式擬合 p=polyfit(x,y,n):用最小二乘法對已知數(shù)據(jù)x,y進行擬合,以求得n階多項式的系 數(shù)向量; p,s=p
45、olyfit(x,y,n):p為返回的擬合后的多項式的系數(shù)向量,s為使用函數(shù)polyval 獲得的錯誤預(yù)估計值。 例 4-8 x=linspace(0,2*pi,100); y=sin(x); t=polyfit(x,y,6); y1=polyval(t,x); plot(x,y,ro,x,y1,b-) 4.2 數(shù)據(jù)插值 4.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 是一個向量或
46、標(biāo)量,描述欲插值的點, Y1 是一個與 X1 等長的插值結(jié)果。 method 是插值方法,允許的取值有 A 、nearest 尋找最近數(shù)據(jù)點 ,由其得出函數(shù)值 ; B、 linear線性插值 (該函數(shù)的默認(rèn)方法 ); C、 spline樣條插值 ,數(shù)據(jù)點處光滑 -左導(dǎo)等于右導(dǎo) ; D、 cubic三次插值 例 4-9 某觀測站測得某日 4:00 時至 18:00 時之間每隔 2 小時的室內(nèi)外溫度 CC),用3次樣條插值分別求得該日室內(nèi)外 4:30至17:30時之間每隔2小時 各點的近似溫度(C)。 設(shè)時間變量h為一行向量,溫度變量t為一個兩列矩陣,其中第一列 存放室內(nèi)溫度,第二列儲存室外溫度。
47、命令如下: h =4:2:18; t=18,20,22,25,30,28,24,28; 17,18,19,24,27,23,23,25; XI =4.5:2:17.5 YI=interp1(h,t,XI,spline ) %用 3 次樣條插值計算 4.2.2 二維數(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é)果。 A、ne
48、arest 尋找最近數(shù)據(jù)點 ,由其得出函數(shù)值 ; B、linear 二維線性插值 C、cubic 二維三次插值 例4-10某實驗對一根長10米的鋼軌進行熱源的溫度傳播測試。用x表示測量 點025:10(米),用h表示測量時間0:30:60渺),用T表示測試所得各點的溫度 (C)。試用線性插值求出在一分鐘內(nèi)每隔20秒、鋼軌每隔1米處的溫度TI。 命令如下: x=0:2.5:10; h=0:30:60; T=95,14,0,0,0;88,48,32,12,4;47,44,54,48,41; xi=0:10; hi=0:20:40; TI=interp2(x,h,T,xi,hi) 第5章 MATLA
49、B統(tǒng)計函數(shù) 5.1 數(shù)據(jù)統(tǒng)計處理 5.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ù)元素,則按模取 最大值。 y,I=max(X):返回向量X的最大值存入y,最大值的序號存入I,如果X中包 含復(fù)數(shù)元素,則按模取最大值。 求向量X的最小值的函數(shù)是min(X),用法和max(X)完全相同。 例 5-1 求向量 x 的最大值。 命令如下: x=-53,72,9,15,2
50、3,57; y=max(x)%求向量 x 中的最大值 y,l=max(x)%求向量 x 中的最大值及其該元素的位置 2求矩陣的最大值和最小值 求矩陣 A 的最大值的函數(shù)有 3種調(diào)用格式,分別是: max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。 Y,U=max(A):返回行向量丫和U,丫向量記錄A的每列的最大值,U向量記 錄每列最大值的行號。 max(A,dim) : dim取1或2。dim取1時,該函數(shù)和 max(A)完全相同;dim 取2時,該函數(shù)返回一個列向量,其第i個元素是A矩陣的第i行上的最大值。 求最小值的函數(shù)是 min,其用法和max完全相同。 例5-2
51、分別求3X5矩陣x中各列和各行元素中的最大值,并求整個矩陣的最大 值和最小值。 3兩個向量或矩陣對應(yīng)元素的比較 函數(shù)max和min還能對兩個同型的向量或矩陣進行比較,調(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完全相同。 例5-3求兩個2X3矩陣x, y所有同一位置上的較大元素構(gòu)成的新矩陣p。 5.1.2 求和與求積 數(shù)據(jù)序列求和與求積的函數(shù)是
52、 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時,返回一個列向量,其第i個元素是A的第i行的各元素 乘積。 例5-5
53、求矩陣A的每行元素的乘積和全部元素的乘積。 5.1.3 平均值和中值 mean:求數(shù)據(jù)序列平均值的函數(shù); media n:求數(shù)據(jù)序列中值的函數(shù)。 兩個函數(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,dim): 當(dāng) dim 為 1 時,
54、該函數(shù)等同于 median(A) ; 當(dāng) dim 為 2 時,返回一個列向量,其第 i 個元素是 A 的第 i 行的中值。 例 5-5 分別求向量 x 與 y 的平均值和中值。 5.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)
55、: 當(dāng) dim 為 1 時,該函數(shù)等同于 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行的累乘積向量。 例5-5求s矩陣的累加和。 5.1.5 標(biāo)準(zhǔn)方差與相關(guān)系數(shù) 1求標(biāo)準(zhǔn)方差 std:計算數(shù)據(jù)序列的標(biāo)準(zhǔn)方差的函數(shù)。 對于向量X,std(X)返回一個標(biāo)準(zhǔn)方差。 對于矩陣A,std(A)返回一個行向量,它的各個元素便是矩陣A各列的標(biāo)準(zhǔn)方 差。 std 函數(shù)的一般調(diào)用格式為: Y=std(A,fl
56、ag,dim) 其中 dim 取 1 或 2 當(dāng) dim=1 時,求各列元素的標(biāo)準(zhǔn)方差; 當(dāng) dim=2 時,則求各行元素的標(biāo)準(zhǔn)方差。 flag 取 0 或 1, 當(dāng)flag=O時,按cl所列公式計算標(biāo)準(zhǔn)方差; 當(dāng)flag=1時,按c2所列公式計算標(biāo)準(zhǔn)方差。 缺省 flag=O, dim=1 。 例5-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的每列作為一個變量,
57、然后求它們的相關(guān)系數(shù)。 corrcoef(X,丫):在這里,X,丫是向量,它們與 corrcoef(X,Y)的作用一樣。 例5-8生成滿足正態(tài)分布的10000X5隨機矩 陣,然后求各列元素的均值和標(biāo)準(zhǔn)方差,再求 這 5 列隨機數(shù)據(jù)的相關(guān)系數(shù)矩陣。 命令如下: X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X) 5.1.6 排序 MATLAB中對向量X是排序函數(shù)是sort(X),函數(shù)返回一個對X中的元素按升序排 列的新向量。sort函數(shù)也可以對矩陣A的各列或各行重新排序, 其調(diào)用格式為: Y,I=sort(A,dim) 其中 dim 指明對 A
58、的列還是行進行排序。 若dim=1,則按列排; 若dim=2,則按行排。 丫是排序后的矩陣,而I記錄丫中的元素在A中位置。 5.2 離散傅立葉變換 離散傅立葉變換的實現(xiàn)一維離散傅立葉變換函數(shù),其調(diào)用格式與功能為: 1、 fft(X):返回向量X的離散傅立葉變換。設(shè)X的長度(即元素個數(shù))為N,若N 為 2 的冪次,則為以 2 為基數(shù)的快速傅立葉變換,否則為運算速度很慢的非 2 幕次的算法。對于矩陣X,fft(X)應(yīng)用于矩陣的每一列。 2、 fft(X,N):計算N點離散傅立葉變換。它限定向量的長度為 N,若X的長度 小于N,則不足部分補上零;若大于N,則刪去超出N的那些元素。對于矩陣X, 它同樣
59、應(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的每一行。 值得一提的是,當(dāng)已知給出的樣本數(shù)NO不是2的幕次時,可以取一個N使它大 于NO且是2的幕次,然后利用函數(shù)格式fft(X,N)或fft(X,N,dim)便可進行快速傅 立葉變換。這樣,計算速度將大大加快。 相應(yīng)地,一維離散傅立葉逆變換函數(shù)是ifft。ifft(F)返回F的一維離散傅立葉逆變 換;ifft(F,N
60、)為N點逆變換;ifft(F,dim)或ifft(F,N,dim)則由N或dim確定逆變換 的點數(shù)或操作方向。 例 5-15 給定數(shù)學(xué)函數(shù) x(t)=12sin(2 nX 15)+5oS(2 nX 50t) 取N=128,試對t從01秒采樣,用fft作快速傅立葉變換,繪制相應(yīng)的振 幅-頻率圖。 程序如下: N=128;% 采樣點數(shù) T=1;% 采樣時間終點 t=linspace(0,T,N);% 給出 N 個采樣時間 ti(I=1:N) x=12*sin(2*pi*10*t+pi/ 5)+5*cos(2*pi*50*t);% 求各采樣點樣本值 x dt=t(2)-t(1);% 采樣周期 f=1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 弱電系統(tǒng)施工合同范本
- 地產(chǎn)代理合同
- 果園承包合同書
- 物流倉儲設(shè)備采購及安裝合同書
- 基站場地租賃合同模板年
- 工廠普通買賣合同
- 標(biāo)準(zhǔn)個人借款抵押合同模板
- 商城店面租賃合同范本
- 資產(chǎn)買賣合同書
- 全新臨時房租賃合同
- 部編版《道德與法治》六年級下冊教材分析萬永霞
- 粘液腺肺癌病理報告
- 鑄牢中華民族共同體意識自評報告范文
- 巡察檔案培訓(xùn)課件
- 物流營銷(第四版) 課件 第六章 物流營銷策略制定
- 上海高考英語詞匯手冊列表
- PDCA提高患者自備口服藥物正確堅持服用落實率
- 上海石油化工股份有限公司6181乙二醇裝置爆炸事故調(diào)查報告
- 家譜人物簡介(優(yōu)選12篇)
- 2023年中智集團下屬中智股份公司招聘筆試題庫及答案解析
- GA 1409-2017警用服飾硬式肩章
評論
0/150
提交評論