MATLAB實(shí)用教程(行業(yè)經(jīng)驗(yàn))_第1頁
MATLAB實(shí)用教程(行業(yè)經(jīng)驗(yàn))_第2頁
MATLAB實(shí)用教程(行業(yè)經(jīng)驗(yàn))_第3頁
MATLAB實(shí)用教程(行業(yè)經(jīng)驗(yàn))_第4頁
MATLAB實(shí)用教程(行業(yè)經(jīng)驗(yàn))_第5頁
已閱讀5頁,還剩285頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MATLAB實(shí)用教程電子教案 1.0下載更新:/matlab/index.html1陽山書屋c本書的主要內(nèi)容和結(jié)構(gòu)2陽山書屋c第1章 MATLAB簡介 MATLAB的主要特點(diǎn) MATLAB的桌面環(huán)境 MATLAB的幫助系統(tǒng)3陽山書屋cMATLAB的主要特點(diǎn)簡單易學(xué)代碼短小高效計(jì)算功能強(qiáng)大繪圖功能強(qiáng)大可擴(kuò)展性能4陽山書屋cMATLAB的桌面環(huán)境啟動(dòng)按鈕命令窗口命令歷史窗口工作空間窗口當(dāng)前目錄瀏覽器5陽山書屋c主界面當(dāng)前目錄瀏覽工具命令窗口啟動(dòng)按鈕命令歷史窗口工作空間窗口6陽山書屋cMATLAB的幫助系統(tǒng)幫助瀏覽工具h(yuǎn)elp函數(shù)和doc函數(shù)7陽山書屋c第2章 數(shù)據(jù)類型 常數(shù)和變量 數(shù)組和矩陣 字符

2、串 多維數(shù)組 結(jié)構(gòu) 單元數(shù)組 函數(shù)句柄8陽山書屋c常數(shù)常數(shù)返回值ans默認(rèn)變量名,保存最近的結(jié)果。如果不給表達(dá)式指定一個(gè)輸出變量,MATLAB會(huì)自動(dòng)將結(jié)果保存到ans變量中 eps浮點(diǎn)相對(duì)精度。是MATLAB用于計(jì)算的容限 realmax計(jì)算機(jī)可以表示的最大浮點(diǎn)數(shù) realmin計(jì)算機(jī)可以表示的最小浮點(diǎn)數(shù) pi圓周率 i, j虛數(shù)單位 inf無限值。類似n/0的表達(dá)式生成的結(jié)果為inf,其中n為非0實(shí)數(shù) NaN表示不合法的數(shù)值值,非數(shù)值。類似0/0和inf/inf的表達(dá)式生成的結(jié)果,與NaN有關(guān)的算術(shù)運(yùn)算結(jié)果,以及n/0,n為復(fù)數(shù)時(shí)的計(jì)算結(jié)果都是NaN computer計(jì)算機(jī)類型 versio

3、nMATLAB版本字符串 下表列出了MATLAB提供的一些內(nèi)部函數(shù)。9陽山書屋c變量變量名 MATLAB變量名的第1個(gè)字符必須是字母,后面可以跟字母、數(shù)字和下劃線的任何組合。 注意:MATLAB中變量名有大小寫區(qū)分,所以A和a是不同的變量。 創(chuàng)建變量 在MATLAB中創(chuàng)建變量很簡單,不必聲明變量的數(shù)據(jù)類型。例如在命令窗口鍵入下面的命令行就可以創(chuàng)建一個(gè)A變量。 A=9 A = 9 10陽山書屋c變量的數(shù)據(jù)類型數(shù) 組邏輯型字符型數(shù)值型單元數(shù)組結(jié)構(gòu)數(shù)組函數(shù)句柄Java類定制類int8, uint8int16, uint16int32, uint32SingleDouble11陽山書屋c數(shù)組和矩陣 M

4、ATLAB中,所有數(shù)據(jù)都用數(shù)組或矩陣形式進(jìn)行保存。 數(shù)組 矩陣12陽山書屋c數(shù)組構(gòu)造數(shù)組的方法:直接構(gòu)造法增量法linspace函數(shù)法13陽山書屋c直接構(gòu)造數(shù)組 在MATLAB中構(gòu)造數(shù)組,只需要用空格或逗號(hào)間隔數(shù)組元素,然后用方括號(hào)括起來就行了。如 x=0 2 3 6 7 8 或 x=0,2,3,6,7,8就構(gòu)造了一個(gè)有6個(gè)元素的數(shù)組x。 14陽山書屋c用增量法構(gòu)造數(shù)組 利用MATLAB提供的冒號(hào)運(yùn)算符(first:step:last)可以生成數(shù)組。數(shù)組中的元素按順序從first一直到last,增量為step。(2:3:14)如果不指定增量step,則按升序生成數(shù)組,后面的數(shù)比它前面第一個(gè)數(shù)大

5、1。(2:13) 如果要求生成降序排列的數(shù)組,指定一個(gè)負(fù)的增量。增量可以是整數(shù),也可以是小數(shù)。15陽山書屋c用linspace函數(shù)構(gòu)造數(shù)組 用linspace函數(shù)構(gòu)造數(shù)組,需要指定首尾值和元素總個(gè)數(shù)?;拘问绞牵?x=linspace(first,last,num)其中,first,last和num分別為x數(shù)組的首尾元素和元素個(gè)數(shù)。如 x=linspace(0,10,5) x = 0 2.5000 5.0000 7.5000 10.0000 16陽山書屋c矩陣構(gòu)造矩陣的方法:簡單的創(chuàng)建方法構(gòu)造特殊矩陣聚合矩陣組合不同類型的數(shù)據(jù)17陽山書屋c用簡單方法構(gòu)造矩陣 MATLAB中創(chuàng)建矩陣最簡單的方法

6、是使用符號(hào)。在方括號(hào)內(nèi)輸入多個(gè)元素可以創(chuàng)建矩陣的一個(gè)行。用逗號(hào)或空格把每個(gè)元素間隔開。如果想開始一個(gè)新行,用分號(hào)終止當(dāng)前行: A = row1; row2; .; rown 下面創(chuàng)建一個(gè)3行5列的數(shù)值矩陣。 A = 12 62 93 -8 22; 16 2 87 43 91; -4 17 -72 95 6 A = 12 62 93 -8 22 16 2 87 43 91 -4 17 -72 95 618陽山書屋c構(gòu)造特殊矩陣 MATLAB提供了多個(gè)創(chuàng)建不同矩陣的函數(shù),如下表所示。 函 數(shù)功 能ones創(chuàng)建一個(gè)所有元素都為1的矩陣 zeros創(chuàng)建一個(gè)所有元素都為0的矩陣 eye創(chuàng)建對(duì)角線元素為1

7、,其他元素為0的矩陣 accumarray將輸入矩陣的元素分配到輸出矩陣中的指定位置 diag根據(jù)矢量創(chuàng)建對(duì)角矩陣 magic創(chuàng)建一個(gè)方形矩陣,其中行、列和對(duì)角線上元素的和相等 rand創(chuàng)建一個(gè)矩陣或數(shù)組,其中的元素為服從均勻分布的隨機(jī)數(shù) randn創(chuàng)建一個(gè)矩陣或數(shù)組,其中的元素為服從正態(tài)分布的隨機(jī)數(shù) randperm創(chuàng)建一個(gè)矢量(1n的矩陣) 19陽山書屋c聚合矩陣 矩陣聚合是通過連接一個(gè)或多個(gè)矩陣來形成新的矩陣。符號(hào) 不僅是矩陣構(gòu)造符,它還是MATLAB聚合運(yùn)算符。表達(dá)式C=A B在水平方向上聚合矩陣A和B,表達(dá)式C=A;B在垂向上聚合它們。 本例通過在垂向上聚合矩陣A和B來構(gòu)造新矩陣C:

8、 A = ones(2, 5) * 6; % 25的矩陣,元素為6 B = rand(3, 5); % 35的矩陣,元素為隨機(jī)數(shù) C = A; B % 垂向聚合A和B注意:在每一條程序后面,有分號(hào)“;”,則該語句求出的內(nèi)容不顯 示在屏幕上;若沒有分號(hào),則所求內(nèi)容會(huì)顯示出來 20陽山書屋c組合不同類型的數(shù)據(jù) 構(gòu)造矩陣時(shí),如果矩陣的數(shù)據(jù)類型不同,則MATLAB會(huì)自動(dòng)對(duì)某些元素進(jìn)行類型轉(zhuǎn)換,然后生成的矩陣具有相同的類型。 用一個(gè)高精度的矩陣和一個(gè)低精度的矩陣構(gòu)造新矩陣時(shí),新矩陣是低精度型的。例如,聚合double型和single型的矩陣時(shí),總是生成single型的矩陣。MATLAB會(huì)先將double

9、型元素轉(zhuǎn)換為single型。 21陽山書屋c聚合矩陣的特殊函數(shù)下表列出了聚合矩陣的一些特殊函數(shù)。函 數(shù)描 述cat沿指定的維聚合矩陣 horzcat 水平聚合矩陣 vertcat垂向聚合矩陣 repmat通過復(fù)制和疊置矩陣來創(chuàng)建新矩陣 blkdiag用已有矩陣創(chuàng)建塊對(duì)角矩陣 22陽山書屋c獲取矩陣的元素使用編號(hào)索引使用線性索引使用冒號(hào)使用end關(guān)鍵字23陽山書屋c使用編號(hào)索引獲取矩陣的元素 利用編號(hào)和索引,可以獲取MATLAB矩陣的元素。 要引用矩陣中的特殊元素,用下面的語法指定它的行號(hào)和列號(hào),其中A是矩陣變量。按先行后列的順序指定。 A(row, column) 24陽山書屋c使用線性索引獲

10、取矩陣的元素 MATLAB保存矩陣中的數(shù)據(jù)時(shí)是作為一個(gè)元素列保存。這個(gè)元素列又是由矩陣中的所有列組成的,后一列元素按先后順序添加到前一列元素的最后。所以,矩陣A A = 2 6 9; 4 2 8; 3 0 1 A = 2 6 9 4 2 8 3 5 1 在內(nèi)存中是按下面的序列保存的: 2, 4, 3, 6, 2, 5, 9, 8, 1 矩陣A第3行第2列的元素可以看作實(shí)際保存序列中的第6個(gè)元素。要獲取這個(gè)元素,可以使用標(biāo)準(zhǔn)語法A(3,2)或使用A(6)。25陽山書屋c使用冒號(hào)獲取矩陣的元素 利用冒號(hào)本身可以引用矩陣某行或列的所有元素。使用下面的語法,可以計(jì)算44的魔方矩陣A中所有元素的和。 s

11、um(A(:, 2) ans = 34 將冒號(hào)進(jìn)行索引,可以引用整個(gè)矩陣中的所有元素。本例顯示矩陣A中的所有元素,按列序返回它們: A(:) 26陽山書屋c使用end關(guān)鍵字獲取矩陣的元素 利用end關(guān)鍵字可以指定矩陣某維的最后一個(gè)元素。它適用于不知道矩陣有多少行或多少列的情況。例如,可以用下面的語句進(jìn)行值的替換: B(1:3:end) = -10 27陽山書屋c字符串字符串的創(chuàng)建類型轉(zhuǎn)換字符串的比較字符串的聚合字符串的搜索和替換28陽山書屋c創(chuàng)建字符串通過把字符放到單引號(hào)中來指定字符數(shù)據(jù)。如,下面創(chuàng)建一個(gè)15的字符串country。 country = China; 創(chuàng)建一個(gè)二維字符串時(shí),確定

12、每行具有相同的長度,例如,下面兩個(gè)字符串都有5個(gè)字符,用它們組合起來的二維字符串是合法的。 name = Li Yi ; Hu Xu name = Li Yi Hu Xu 根據(jù)不同長度的字符串創(chuàng)建字符串時(shí),將短的那些字符串后面用空格補(bǔ)齊,使所有字符串的長度相同。 29陽山書屋c類型轉(zhuǎn)換用char函數(shù)把單元數(shù)組轉(zhuǎn)換為標(biāo)準(zhǔn)字符串?dāng)?shù)組。 str2double函數(shù)把一個(gè)字符串單元數(shù)組轉(zhuǎn)換為字符串表示的雙精度值。 int2str函數(shù)將整型數(shù)據(jù)轉(zhuǎn)換為字符串型數(shù)據(jù)。 num2str函數(shù)對(duì)輸出字符串的格式提供了更多控制,該函數(shù)的第2個(gè)變量是可選的,它設(shè)置輸出字符串的位數(shù),或指定一個(gè)實(shí)際的格式。 mat2str

13、函數(shù)將數(shù)組轉(zhuǎn)換為字符串。 mat2str函數(shù)將返回一個(gè)包含文本的字符串,該文本在命令行中輸入,用于創(chuàng)建矩陣。 30陽山書屋c字符串的比較用strcmp函數(shù)比較字符串,字符串不相等時(shí),返回false??梢允褂肕ATLAB的關(guān)系運(yùn)算符,如,可以用()確定兩個(gè)字符串中的相同字符。所有關(guān)系運(yùn)算符(, =, , =, =, !=)比較對(duì)應(yīng)字符的值。 31陽山書屋c字符串的聚合字符串通??梢杂筛〉脑鼐酆隙伞蓚€(gè)通用的聚合方法是使用MATLAB聚合運(yùn)算符()或sprintf函數(shù)。用strcat函數(shù)也可以把兩個(gè)或更多字符串組合在一起。 32陽山書屋c字符串的搜索和替換strrep函數(shù)進(jìn)行標(biāo)準(zhǔn)的搜索和替代

14、操作。findstr函數(shù)把子字符串的起始位置返回到一個(gè)更長的字符串中。 strtok函數(shù)在輸入字符串中第一次發(fā)現(xiàn)間隔符時(shí)返回間隔符前面的字符,可用該函數(shù)把句子分離成單詞。 strmatch函數(shù)在字符串或字符串單元數(shù)組的整個(gè)行中進(jìn)行查找,看有沒有以給定字符序列打頭的字符串,它返回以該字符串打頭的行的行號(hào)。 33陽山書屋c多維數(shù)組用索引生成多維數(shù)組用特殊函數(shù)生成多維數(shù)組用cat函數(shù)生成多維數(shù)組34陽山書屋c用索引生成多維數(shù)組 創(chuàng)建多維數(shù)組的方法之一是先創(chuàng)建一個(gè)二維數(shù)組,然后擴(kuò)展它。如: A = 5 7 8; 0 1 9; 4 3 6; A是一個(gè)33的數(shù)值,即它的行維和列維都是3。給A添加第三維。

15、A(:,:,2) = 1 0 4; 3 5 6; 9 8 7 35陽山書屋c用特殊函數(shù)生成多維數(shù)組 可以使用與生成二維數(shù)組相同的方式,用randn,ones和zeros函數(shù)等生成多維數(shù)組。提供的每個(gè)變量表示生成的數(shù)組中對(duì)應(yīng)維的大小。如:要?jiǎng)?chuàng)建一個(gè)正態(tài)分布隨機(jī)數(shù)的432的數(shù)組,可以輸入: B = randn(4,3,2) 要生成一個(gè)元素均為同一常數(shù)的數(shù)組,使用repmat函數(shù)。如: B = repmat(5,3 4 2) 36陽山書屋c用cat函數(shù)生成多維數(shù)組 cat函數(shù)是創(chuàng)建多維數(shù)組的一種簡單方式,它按指定的維數(shù)將多個(gè)數(shù)組聚合到一起,其調(diào)用格式為: B = cat(dim,A1,A2.) 其中

16、A1,A2等是進(jìn)行聚合的數(shù)組,dim是維數(shù)。 37陽山書屋c結(jié)構(gòu)創(chuàng)建結(jié)構(gòu)數(shù)組獲取結(jié)構(gòu)數(shù)組中的數(shù)據(jù)數(shù)組的大小操作字段結(jié)構(gòu)的嵌套38陽山書屋c創(chuàng)建結(jié)構(gòu)數(shù)組使用賦值語句 可以通過將數(shù)據(jù)賦給單獨(dú)的字段來生成一個(gè)簡單的11結(jié)構(gòu)數(shù)組。 使用struct函數(shù) 可以用struct函數(shù)預(yù)分配一個(gè)結(jié)構(gòu)數(shù)組。其基本形式為: str_array = struct(field1,val1,field2,val2, .) 其中,變量為字段名和它們的對(duì)應(yīng)值。 39陽山書屋c單元數(shù)組創(chuàng)建單元數(shù)組獲取單元數(shù)組的數(shù)據(jù)刪除單元和重塑單元數(shù)組40陽山書屋c創(chuàng)建單元數(shù)組用賦值語句創(chuàng)建單元數(shù)組 可以使用單元索引和內(nèi)容索引兩種方式創(chuàng)建單元

17、數(shù)組。用cell函數(shù)創(chuàng)建單元數(shù)組 使用cell函數(shù),可以預(yù)分配指定大小的空單元數(shù)組,如,下面的語句創(chuàng)建一個(gè)空的單元數(shù)組: B = cell(2,3); 然后可以用賦值語句填充B單元。 41陽山書屋c函數(shù)句柄 函數(shù)句柄是一種MATLAB數(shù)據(jù)類型,它包含用于引用函數(shù)的信息。創(chuàng)建函數(shù)句柄時(shí),MATLAB在句柄中保存所有與要運(yùn)行的函數(shù)有關(guān)的信息。 第3章將對(duì)函數(shù)句柄進(jìn)行比較詳細(xì)的介紹。42陽山書屋c第3章 M文件設(shè)計(jì) 變量 表達(dá)式 流程控制 函數(shù) M文件 程序調(diào)試與錯(cuò)誤處理 編程技巧43陽山書屋c變量變量的作用范圍 局部變量:局部變量的作用范圍僅限于本函數(shù)。 全局變量:全局變量用global關(guān)鍵字進(jìn)行

18、聲明,其作用范圍為整個(gè)M文件。 變量的存活期 變量的存活期代表變量保持其值的能力。 用persistent關(guān)鍵字聲明固定變量,可以保持變量的值 。44陽山書屋c表達(dá)式數(shù)值表示運(yùn)算符處理字符串表達(dá)式45陽山書屋c數(shù)值表示 MATLAB使用傳統(tǒng)的數(shù)值表示方法。對(duì)于比較長的數(shù),使用科學(xué)計(jì)數(shù)法,用字母e指定以10為底的冪次。虛數(shù)用i或j作為后綴。下面是一些合法的數(shù)值表示: 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i 46陽山書屋c運(yùn)算符算術(shù)運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符運(yùn)算符的優(yōu)先級(jí)47陽山書屋c運(yùn)算符的優(yōu)先級(jí)按照優(yōu)先級(jí)別

19、,各種運(yùn)算符有下面的先后次序。小括號(hào)()轉(zhuǎn)置(.)、冪(.)、復(fù)數(shù)共軛轉(zhuǎn)置()、矩陣的冪()一元的加(+)、一元的減(-)、邏輯否()乘(.*)、右除(./)、左除(.)、矩陣乘(*)、矩陣右除(/)、矩陣左除()加(+)、減(-)冒號(hào)操作符(:)小于()、小于或等于()、大于或等于(=)、等于(=)、不等于(=)逐元素AND(&)逐元素OR(|)&|48陽山書屋c處理字符串表達(dá)式 處理字符串表達(dá)式需要使用eval函數(shù)和feval函數(shù)。 eval函數(shù)可以處理包含MATLAB表達(dá)式、語句或函數(shù)調(diào)用的字符串。 feval函數(shù)與eval函數(shù)的區(qū)別在于,該函數(shù)執(zhí)行函數(shù)而不是MATLAB表達(dá)式。 注意:

20、盡量少用eval函數(shù),因?yàn)槭褂胑val函數(shù)的代碼通常不好讀,不易調(diào)試。 49陽山書屋c流程控制條件控制循環(huán)控制錯(cuò)誤控制程序終止控制50陽山書屋c條件控制if/elseif語句switch/case語句比較上面兩種語句,switch/case語句的可讀性更強(qiáng),并且可以比較不同長度的字符串。51陽山書屋c循環(huán)控制for循環(huán)while循環(huán)continue命令break命令52陽山書屋c錯(cuò)誤控制trycatch語句進(jìn)行錯(cuò)誤捕獲,它把有可能引起異常的語句放在try控制塊中,這樣當(dāng)try控制塊中statement語句引起異常時(shí),catch控制塊就可以捕獲它,并針對(duì)不同的錯(cuò)誤類型,進(jìn)行不同的處理。 53陽山

21、書屋c程序終止控制 return命令能使當(dāng)前正在運(yùn)行的函數(shù)正常退出,并返回調(diào)用它的函數(shù),繼續(xù)運(yùn)行。 下表比較break,continue和return命令。命令用在何處描 述breakfor 或while循環(huán) 它出現(xiàn)時(shí),退出循環(huán),在嵌套的循環(huán)中,進(jìn)入相鄰的外層循環(huán) continuefor 或while循環(huán) 在本循環(huán)中跳過剩余的語句,進(jìn)入本循環(huán)的下一次迭代 return任意位置 它出現(xiàn)時(shí),立即退出函數(shù),進(jìn)入函數(shù)的調(diào)用函數(shù)中 54陽山書屋c函數(shù)主函數(shù)子函數(shù)匿名函數(shù)嵌套函數(shù)私有函數(shù)重載函數(shù)55陽山書屋c主函數(shù)任何M文件中的第1個(gè)函數(shù)稱為主函數(shù)。 注意:一般使主函數(shù)的名稱與M文件的相同。如果函數(shù)名與文

22、件名不同,必須用文件名調(diào)用函數(shù)。 56陽山書屋c子函數(shù)M文件中可以包含一個(gè)以上的函數(shù)。文件中除主函數(shù)以外的其他函數(shù)稱為子函數(shù),并且它們只對(duì)主函數(shù)或同一文件中的其他子函數(shù)可見。 57陽山書屋c匿名函數(shù) 使用匿名函數(shù),可以在不必創(chuàng)建M文件的情況下快速創(chuàng)建簡單函數(shù)??梢栽贛ATLAB命令行或任何M文件函數(shù)或腳本中創(chuàng)建匿名函數(shù)。 創(chuàng)建匿名函數(shù)的語法格式為: fhandle=(arglist) expr 其中,expr表示函數(shù)體,即函數(shù)要完成主要工作的代碼;arglist為要傳遞給函數(shù)的逗號(hào)間隔的輸入?yún)?shù)列表。 58陽山書屋c嵌套函數(shù) 可以在一個(gè)函數(shù)中嵌套定義一個(gè)或多個(gè)函數(shù)。嵌套函數(shù)具有類似下面的形式:

23、 function x=A(p1,p2) function y=B(p3) end end59陽山書屋c私有函數(shù) 私有函數(shù)是private子目錄中的函數(shù)。它們只對(duì)父目錄中的函數(shù)可見。 60陽山書屋c重載函數(shù) 有時(shí)候同一個(gè)函數(shù)可以用于多種情況,對(duì)應(yīng)地有不同的輸入?yún)?shù),此時(shí)要用到重載函數(shù)。比如繪制二維線形圖的plot函數(shù)就有多種重載形式,下面是其中兩種。 plot(Y) plot(X1,Y1,.) 這兩個(gè)函數(shù)具有相同的函數(shù)名,不同的參數(shù)。調(diào)用plot函數(shù)時(shí)MATLAB會(huì)根據(jù)函數(shù)的參數(shù)自動(dòng)選擇使用。 61陽山書屋cM文件腳本式M文件和函數(shù)式M文件M文件的基本結(jié)構(gòu)函數(shù)的參數(shù)函數(shù)句柄62陽山書屋c腳本式

24、M文件和函數(shù)式M文件腳本式M文件和函數(shù)式M文件的區(qū)別如下表所示。腳本式M文件函數(shù)式M文件不接受輸入?yún)?shù),沒有返回值可以接受輸入?yún)?shù),可以有返回值基于工作空間中的數(shù)據(jù)進(jìn)行操作默認(rèn)時(shí),文件中參數(shù)的作用范圍只限于函數(shù)內(nèi)部 自動(dòng)完成需要花費(fèi)很多時(shí)間的多步操作時(shí)使用 擴(kuò)展MATLAB語言功能時(shí)使用 63陽山書屋cM文件的基本結(jié)構(gòu) 一個(gè)完整的函數(shù)式M文件應(yīng)該包括函數(shù)定義行、H1行、幫助文本、函數(shù)體、注釋和函數(shù)代碼等方面的內(nèi)容,其中函數(shù)定義行和函數(shù)代碼是必需的。 如 function x, y = myfun(a, b, c) 函數(shù)定義行 % H1行 用一行文字來綜述函數(shù)的功能 % 幫助文本 用一行或多行文

25、本解釋如何使用函數(shù), % 在命令行中鍵入help 時(shí)可以使用它 % 函數(shù)體一般從第一個(gè)空白行后開始 % 注釋 描述函數(shù)的行為,輸入輸出的類型等, % 在命令行中鍵入help 時(shí)不會(huì)顯示這些文本 x = prod(a, b); % 開始編寫函數(shù)代碼64陽山書屋c函數(shù)的參數(shù)檢查輸入?yún)?shù)的個(gè)數(shù)傳遞參數(shù)解包varargin中的內(nèi)容打包varargout參數(shù)列表中的varargin和varargout返回輸出參數(shù)65陽山書屋c檢查輸入?yún)?shù)的個(gè)數(shù) 利用nargin和nargout函數(shù)可以確定函數(shù)輸入?yún)?shù)和輸出參數(shù)的個(gè)數(shù)。然后可以根據(jù)參數(shù)個(gè)數(shù)用條件語句完成不同的任務(wù),例如 function c = test

26、arg1(a, b) if (nargin = 1) c = a . 2; elseif (nargin = 2) c = a + b; end 給定一個(gè)輸入?yún)?shù)時(shí),函數(shù)計(jì)算輸入值的平方;給定兩個(gè)輸入?yún)?shù)時(shí),求它們的和。 66陽山書屋c傳遞參數(shù) 使用varargin和varargout函數(shù)可以傳遞任意個(gè)數(shù)的輸入?yún)?shù)或者返回任意個(gè)數(shù)的輸出參數(shù)給函數(shù)。 MATLAB把所有指定的輸入?yún)?shù)指定到一個(gè)單元數(shù)組中。每個(gè)單元可以包含任意大小或類型的數(shù)據(jù)。對(duì)于輸出參數(shù),函數(shù)代碼必須把它們打包到一個(gè)單元數(shù)組中,這樣,MATLAB就可以把參數(shù)返回給調(diào)用函數(shù)。 67陽山書屋c解包varargin中的內(nèi)容 因?yàn)関ar

27、argin將所有輸入?yún)?shù)包含在一個(gè)單元數(shù)組中,所以有必要使用單元數(shù)組索引來提取數(shù)據(jù)。例如 y(n) = vararginn(2); 其中,索引表達(dá)式n獲取varargin的第n個(gè)單元。表達(dá)式(2)表示單元內(nèi)容的第二個(gè)元素。 68陽山書屋c打包varargout當(dāng)允許有任意多個(gè)輸出參數(shù)時(shí),必須將所有輸出打包到varargout單元數(shù)組中。使用nargout確定輸出參數(shù)的個(gè)數(shù)。 69陽山書屋c參數(shù)列表中的varargin和varargoutvarargin或varargout必須出現(xiàn)在參數(shù)列表的最后,即函數(shù)調(diào)用必須首先指定必要的參數(shù)。 70陽山書屋c返回輸出參數(shù)放在函數(shù)定義行中等號(hào)左側(cè)的任何參數(shù)都

28、是調(diào)用函數(shù)的返回值。如果傳遞任何函數(shù)可以修改的輸入?yún)?shù),需要把相同的參數(shù)作為輸出參數(shù),這樣,調(diào)用函數(shù)可以獲得更新后的值。 71陽山書屋c函數(shù)句柄在MATLAB中,在函數(shù)名前用符號(hào)創(chuàng)建一個(gè)函數(shù)句柄。下面的例子為humps函數(shù)創(chuàng)建一個(gè)函數(shù)句柄并將它指定給變量fhandle。 fhandle = humps; 可以像傳遞其它變量一樣將句柄傳遞給另一個(gè)函數(shù)。 用MATLAB的feval命令運(yùn)行函數(shù)句柄的目標(biāo)函數(shù)。用函數(shù)句柄使用本命令的語法為: feval(fhandle, arg1, arg2, ., argn) 72陽山書屋c程序調(diào)試和錯(cuò)誤處理用try-catch語句檢查錯(cuò)誤錯(cuò)誤和警告信息用Debu

29、g菜單進(jìn)行調(diào)試73陽山書屋c編程技巧矢量化預(yù)分配內(nèi)存空間程序運(yùn)行情況監(jiān)測(cè)-Profiler74陽山書屋c第4章 圖形繪制 創(chuàng)建二維圖形 創(chuàng)建三維圖形75陽山書屋c創(chuàng)建二維圖形線形圖、條形圖和面積圖餅圖誤差條圖散點(diǎn)圖直方圖對(duì)數(shù)坐標(biāo)圖和半對(duì)數(shù)坐標(biāo)圖多軸圖極坐標(biāo)圖帕累托圖火柴桿圖階梯圖玫瑰花圖函數(shù)的圖形動(dòng)畫76陽山書屋c函數(shù)的圖形可以用fplot函數(shù)在指定范圍內(nèi)繪函數(shù)的圖形。函數(shù)必須是y = f(x)形式的,其中,x是矢量,為自變量;y為矢量,為因變量。 創(chuàng)建一個(gè)M文件myfun,它返回一個(gè)兩列矩陣。 function Y = myfun(x) Y(:,1) = 200*sin(x(:)./x(:)

30、; Y(:,2) = x(:).2;創(chuàng)建一個(gè)指向myfun的函數(shù)句柄。 fh = myfun;用下面的語句繪圖。 fplot(fh,-20 20) 生成右圖。 77陽山書屋c創(chuàng)建動(dòng)畫在MATLAB中,可以用兩種方法創(chuàng)建動(dòng)畫序列: 保存很多不同的圖片,然后以電影的形式進(jìn)行顯示; 在屏幕上連續(xù)擦除和重畫對(duì)象。每次重畫都作遞增式的改變。78陽山書屋c繪制三維圖形用給定數(shù)據(jù)繪三維線形圖用給定數(shù)據(jù)繪三維表面圖表面圖繪制的數(shù)據(jù)格式問題函數(shù)的曲線和曲面二次曲面樣條曲線和曲面多邊形對(duì)象模型消隱控制三維圖形的場(chǎng)景效果設(shè)置79陽山書屋c用給定數(shù)據(jù)繪三維線形圖利用plot3函數(shù)可以繪制三維線形圖。用plot3函數(shù)繪

31、圖時(shí),需要指定線條穿過的點(diǎn)的坐標(biāo)。假設(shè)X, Y和Z是3個(gè)矢量,分別表示一系列點(diǎn)的x坐標(biāo)、y坐標(biāo)和z坐標(biāo),則下面的命令創(chuàng)建一條經(jīng)過這些點(diǎn)的三維曲線。 plot3(X,Y,Z)80陽山書屋c用給定數(shù)據(jù)繪三維表面圖 當(dāng)繪圖數(shù)據(jù)已知時(shí),可以用mesh, surf和surfl等函數(shù)直接繪制網(wǎng)格圖、刻面圖和曲面圖。 網(wǎng)格圖和刻面圖又分三角形和四邊形兩種。81陽山書屋c表面圖繪制的數(shù)據(jù)格式問題MATLAB繪制表面圖時(shí)數(shù)據(jù)格式是矩陣格式的,而我們通常得到的采樣數(shù)據(jù)或數(shù)值計(jì)算數(shù)據(jù)是點(diǎn)坐標(biāo)格式的。所以,用MATLAB函數(shù)繪表面圖以前,需要先轉(zhuǎn)換數(shù)據(jù)格式。x y zx(1,1) y(1,1) z(1,1)x(1,2

32、) y(1,2) z(1,2)x(1,n) y(1,n) z(1,n)x(2,1) y(2,1) z(2,1)x(m,n) y(m,n) z(m,n)X矩陣x(1,1) x(1,2) x(1,n)x(2,1) x(2,2) x(2,n)x(m,1) x(m,2) x(m,n)同上構(gòu)造Y矩陣和Z矩陣82陽山書屋c函數(shù)的曲線和曲面使用ezplot函數(shù)和ezplot3函數(shù),可以很方便地繪制二維和三維參數(shù)曲線;使用ezpolar函數(shù),可以在極坐標(biāo)中繪制參數(shù)曲線。 用ezmesh函數(shù)繪制函數(shù)表示的網(wǎng)格。函數(shù)形式可以是一般形式,也可以是參數(shù)形式。用ezsurf函數(shù)繪制函數(shù)表示的曲面。 83陽山書屋c二次曲

33、面用cylinder函數(shù)生成柱面。 用sphere函數(shù)生成球面。 84陽山書屋c樣條曲線和曲面利用MATLAB的樣條工具箱,可以繪制多種樣條曲線和曲面。 利用MATLAB樣條工具箱,可以繪制樣條曲面,包括三次樣條曲面、B樣條曲面和有理樣條曲面等。 85陽山書屋c多邊形對(duì)象模型 由一個(gè)或多個(gè)相連或不相連的多邊形組成的對(duì)象稱為面片圖形對(duì)象,也常稱為多邊形對(duì)象模型。 創(chuàng)建多邊形對(duì)象,需要定義面片。只需要指定頂點(diǎn)坐標(biāo)和某種形式的顏色數(shù)據(jù)就可以定義面片了。面片支持多種著色方式,這一點(diǎn)對(duì)于用幾何形體進(jìn)行數(shù)據(jù)可視化很有用。 定義面片主要有兩種方式:指定每個(gè)多邊形的頂點(diǎn)坐標(biāo),MATLAB按順序連接這些頂點(diǎn),形

34、成面片。指定每個(gè)頂點(diǎn)的坐標(biāo)值和一個(gè)指定如何把這些點(diǎn)連成面的矩陣。 86陽山書屋c消隱處理 默認(rèn)時(shí),MATLAB繪制三維圖形時(shí)會(huì)進(jìn)行消隱處理。利用下面的命令,可以取消消隱: hidden off87陽山書屋c三維圖形的場(chǎng)景效果設(shè)置 繪制三維圖以后,可以對(duì)它進(jìn)行著色,添加光照,設(shè)置材質(zhì)、紋理、透明性并進(jìn)行交互操作。 88陽山書屋c第5章 圖形編程 句柄圖形對(duì)象 基本圖形元素的繪制 圖形的著色 圖形變換 定制圖形 交互繪圖89陽山書屋c句柄圖形對(duì)象句柄圖形對(duì)象簡介Figure對(duì)象Root對(duì)象對(duì)象的屬性90陽山書屋c句柄圖形對(duì)象的組織結(jié)構(gòu)句柄圖形對(duì)象的層次體系如下圖所示。RootFigureUI對(duì)象A

35、xes隱藏的Annotation Axes對(duì)象核心對(duì)象繪圖對(duì)象組對(duì)象Annotation對(duì)象91陽山書屋cFigure對(duì)象Figure對(duì)象是MATLAB顯示圖形的窗口。圖形窗口包括菜單、工具條、用戶界面對(duì)象、上下文菜單、坐標(biāo)系和坐標(biāo)系的子對(duì)象等。 92陽山書屋cRoot對(duì)象Root對(duì)象是Figure對(duì)象的父對(duì)象。不能實(shí)例化Root對(duì)象,因?yàn)樗淖饔弥皇潜4嫘畔?,它保存MATLAB狀態(tài)、計(jì)算機(jī)系統(tǒng)和MATLAB默認(rèn)設(shè)置等信息。 93陽山書屋c對(duì)象的屬性圖形對(duì)象的屬性控制它外觀和行為的很多方面。屬性包括了諸如對(duì)象類型、父對(duì)象、子對(duì)象、可見性之類的一般信息,也包括該對(duì)象類型的獨(dú)有信息。 例如,在任何

36、給定的Figure對(duì)象上,可以知道最后按下的是哪個(gè)鍵、鼠標(biāo)光標(biāo)的位置或者最近選擇的菜單的句柄等。 94陽山書屋c基本圖形元素的繪制繪制直線段、多義線和曲線line函數(shù)繪制矩形、圓角矩形、橢圓、圓及對(duì)應(yīng)的區(qū)域圖形rectangle函數(shù)繪制多邊形patch函數(shù)繪制文本text函數(shù)95陽山書屋c繪制直線段和多義線MATLAB中的直線段和多義線用Line對(duì)象表示。用line函數(shù)創(chuàng)建直線段對(duì)象。按照直線逼近的思路,還可以用該函數(shù)創(chuàng)建曲線。 下面利用line函數(shù)生成多義線: X2=1 9 20 28; Y2=1 25 10 32; line(X2,Y2,LineWidth,2 ,Marker,+) 96陽

37、山書屋c繪制曲線按照直線逼近的思路,可以用line函數(shù)創(chuàng)建曲線。下面用多條直線段逼近余弦曲線, 左圖用10條直線段逼近,右圖用20條直線段逼近。97陽山書屋c繪制矩形、圓角矩形、橢圓、圓及對(duì)應(yīng)的區(qū)域圖形MATLAB中,矩形、圓角矩形、橢圓、圓及對(duì)應(yīng)的區(qū)域圖形都用Rectangle對(duì)象表示。用rectangle函數(shù)可以創(chuàng)建Rectangle對(duì)象。 在同一個(gè)坐標(biāo)系中創(chuàng)建矩形、圓角矩形、橢圓和圓各一個(gè),使用了不同的線型和線寬。 rectangle(Position,1,1,20,10, LineWidth,3); rectangle(Position,5,3,10,15, Curvature,1 1

38、); rectangle(Position,5,3,10,10, Curvature,1 1, LineWidth,3); rectangle(Position,4,5,12,8, Curvature,.4,LineStyle, -); axis equal98陽山書屋c繪制多邊形任意多邊形及多邊形區(qū)域是用Patch對(duì)象表示的,該對(duì)象由patch函數(shù)創(chuàng)建。 使用patch函數(shù)生成面片,有兩種方法,一種是頂點(diǎn)/顏色法,通過指定每個(gè)小面的頂點(diǎn)坐標(biāo)和顏色來創(chuàng)建;另一種是頂點(diǎn)/小面法,通過指定所有頂點(diǎn)的坐標(biāo)和各小面的頂點(diǎn)和顏色來創(chuàng)建。 99陽山書屋c繪制文本文本用Text對(duì)象表示,該對(duì)象由text函數(shù)

39、創(chuàng)建,text函數(shù)是創(chuàng)建文本圖形對(duì)象的低級(jí)函數(shù)。使用它將文本字符串放在指定的位置上。 下面創(chuàng)建多種形式的文本: text(10,30, 添加文本1); text(10,25, 添加文本2, FontSize,20, FontAngle, Italic); text(10,20, 添加文本3, FontName, 黑體, FontWeight, bold); text(10,10, 添加文本4, Rotation,45); axis(5 20 8 35) 100陽山書屋c圖形的著色多邊形的單色填充多邊形的插值著色對(duì)同一個(gè)多邊形,左圖為單色填充效果,右圖為插值著色效果。101陽山書屋c圖形變換在M

40、ATLAB中實(shí)現(xiàn)圖形變換,需要用到hgtransform對(duì)象,使用該對(duì)象的Matrix屬性可以給hgtransform對(duì)象的所有子對(duì)象應(yīng)用一個(gè)變換。典型的變換包括旋轉(zhuǎn)、平移和縮放。 用hgtransform函數(shù)創(chuàng)建hgtransform圖形對(duì)象。使用makehgtform函數(shù)創(chuàng)建44的變換矩陣。 102陽山書屋c定制圖形前面介紹了在MATLAB中創(chuàng)建基本圖形元素的方法。有了基本圖形元素,就可以靈活運(yùn)用它們,形成更復(fù)雜的圖形。 103陽山書屋c第6章 高等數(shù)學(xué)計(jì)算 函數(shù)和極限 導(dǎo)數(shù) 極限和導(dǎo)數(shù)的應(yīng)用 不定積分和定積分 空間解析幾何與向量代數(shù) 多元函數(shù)的極限和求導(dǎo) 級(jí)數(shù) 微分方程104陽山書屋c函

41、數(shù)復(fù)合函數(shù)運(yùn)算 符號(hào)表達(dá)式的復(fù)合函數(shù)運(yùn)算主要是通過函數(shù)compose來實(shí)現(xiàn)的。 反函數(shù) 符號(hào)表達(dá)式的反函數(shù)運(yùn)算主要是通過函數(shù)finverse來實(shí)現(xiàn)的。函數(shù)的圖形 105陽山書屋c極限符號(hào)極限由函數(shù)limit來實(shí)現(xiàn)。 例:求數(shù)列 的極限。解:在命令窗口鍵入下面的命令行: syms n; limit(n+(-1)(n-1)/n,n,inf) 得 ans = 1106陽山書屋c導(dǎo)數(shù)求函數(shù)的導(dǎo)數(shù)求隱函數(shù)的導(dǎo)數(shù)求參數(shù)方程確定的函數(shù)的導(dǎo)數(shù)107陽山書屋c求函數(shù)的導(dǎo)數(shù)用diff函數(shù)進(jìn)行函數(shù)求導(dǎo)。例:求函數(shù) 的導(dǎo)數(shù)。解:在命令窗口鍵入下面的命令行:syms x;f=sym(x-1)3/(x+1);B=diff

42、(f) 得B = 3*(x-1)2/(x+1)-(x-1)3/(x+1)2 108陽山書屋c求隱函數(shù)的導(dǎo)數(shù)對(duì)于隱函數(shù)F(x,y)=0,導(dǎo)數(shù) 109陽山書屋c求參數(shù)方程確定的函數(shù)的導(dǎo)數(shù)對(duì)于參數(shù)方程 導(dǎo)數(shù) 110陽山書屋c極限和導(dǎo)數(shù)的應(yīng)用漸近線極值拐點(diǎn)111陽山書屋c不定積分和定積分不定積分求定積分定積分的近似計(jì)算定積分的應(yīng)用多重積分112陽山書屋c不定積分MATLAB中,用符號(hào)工具箱中的int函數(shù)求函數(shù)的不定積分和定積分。用int函數(shù)的前兩種調(diào)用格式求不定積分。 例:求不定積分 。解:在命令窗口鍵入syms x nint(xn)或syms x nint(xn,x)得ans= x(n+1)/(n+

43、1) 113陽山書屋c求定積分用int函數(shù)的后兩種調(diào)用格式求定積分。 例:求定積分 。解:在命令窗口鍵入syms xint(x7,0,1) 得ans= 1/8 114陽山書屋c定積分的近似計(jì)算用MATLAB提供的trapz函數(shù)可以用梯形法近似求取定積分的值。 例:積分 的精確值為2,下面用trapz函數(shù)在均勻間隔的網(wǎng)格上求該積分的數(shù)值近似。 X=0:pi/100:pi;Y=sin(X);Z=trapz(X,Y)Z= 1.9998 115陽山書屋c定積分的應(yīng)用使用定積分,可以解決幾何和物理中的很多實(shí)際問題,比如求平面圖形的面積、求曲面圍成的體積、求曲線的弧長、求功等。 116陽山書屋c多重積分可

44、以用int函數(shù)求函數(shù)的多重積分。 例:求二重積分 。解:在命令窗口鍵入syms x y;int(int(x*y,y,2),y,1,2)得 ans = 9/8 117陽山書屋c空間解析幾何與向量代數(shù)空間向量運(yùn)算曲面及其方程118陽山書屋c空間向量運(yùn)算已知向量a=2,1,-1,b=1,-1,2,計(jì)算a+b, a-b, 2a, ab, ab。 解:在命令窗口鍵入下面的命令行: a=2 1 -1; b=1 -1 2; c=a+b d=a-b e=2*a f=dot(a,b) g=cross(a,b)得 c = 3 0 1 d = 1 2 -3 e = 4 2 -2 f = -1 g = 1 -5 -3

45、上面分別用dot和cross函數(shù)計(jì)算向量的點(diǎn)積和叉積119陽山書屋c曲面及其方程利用MATLAB提供的繪圖函數(shù),可以繪制給定函數(shù)的曲面和二次曲面。相關(guān)內(nèi)容,請(qǐng)參見6.2.4和6.2.5小節(jié)的介紹。 120陽山書屋c多元函數(shù)的極限和求導(dǎo)求多元函數(shù)的極限求多元函數(shù)的導(dǎo)數(shù)求二元隱函數(shù)的導(dǎo)數(shù)121陽山書屋c求多元函數(shù)的極限例:求極限 。解:在命令行鍵入syms x y;limit(sin(x+y)-sin(x)/y,y,0) ans = cos(x) 122陽山書屋c求多元函數(shù)的導(dǎo)數(shù)用diff函數(shù)計(jì)算多元函數(shù)的偏導(dǎo)數(shù),需要指定相對(duì)于哪個(gè)變量求偏導(dǎo)數(shù)。 例:求函數(shù)f=sin(st)的偏導(dǎo)數(shù) 。解:在命令

46、窗口鍵入下面的命令行 syms s t f=sin(s*t) diff(f,t) ans= cos(s*t)*s 123陽山書屋c求二元隱函數(shù)的導(dǎo)數(shù)對(duì)于隱函數(shù)F(x,y,z)=0,導(dǎo)數(shù) 124陽山書屋c級(jí)數(shù)級(jí)數(shù)求和泰勒級(jí)數(shù)展開傅立葉級(jí)數(shù)展開125陽山書屋c級(jí)數(shù)求和可以用symsum函數(shù)求級(jí)數(shù)的和。例:求級(jí)數(shù) 和 。解:在命令窗口鍵入 syms x k s1=symsum(1/k2,1,inf) s2=symsum(xk,k,0,inf) s1= 1/6*pi2 s2= -1/(x-1) 126陽山書屋c泰勒級(jí)數(shù)展開用taylor函數(shù)進(jìn)行泰勒級(jí)數(shù)展開。 例:求函數(shù) 的泰勒級(jí)數(shù)展開,取前7項(xiàng)。解:

47、在命令窗口鍵入下面的代碼 syms x f=1/(5+4*cos(x) T=taylor(f,8)返回 T= 1/9+2/81*x2+5/1458*x4+49/131220*x6 127陽山書屋c傅立葉級(jí)數(shù)展開通過編寫程序,可以實(shí)現(xiàn)函數(shù)的傅立葉級(jí)數(shù)展開。128陽山書屋c微分方程微分方程可以通過函數(shù)dsolve求解。例:求微分方程 的通解,y為應(yīng)變量,t為默認(rèn)的自變量。 解:輸入下面的命令行 dsolve(Dy=1+y2)返回 ans = tan(t+C1)即為所求的通解。下面指定初始條件y|x=0=1。 y = dsolve(Dy=1+y2,y(0)=1)生成 y = tan(t+1/4*pi

48、) 129陽山書屋c第7章 線性代數(shù) 矩陣分析 矩陣的分解 線性方程組的求解 矩陣的特征值和特征向量 符號(hào)矩陣 稀疏矩陣130陽山書屋c矩陣分析 矩陣的行列式矩陣的四則運(yùn)算矩陣的冪和平方根矩陣的指數(shù)和對(duì)數(shù)矩陣的翻轉(zhuǎn)矩陣的逆運(yùn)算矩陣的跡矩陣的范數(shù)矩陣的條件數(shù)矩陣的重塑矩陣的邏輯運(yùn)算矩陣的初等變換矩陣的秩131陽山書屋c矩陣的行列式可用函數(shù)det求矩陣的行列式大小。 例:a=1 2 0;2 5 -1;4 10 -1;b=det(a)b = 1 132陽山書屋c矩陣的四則運(yùn)算數(shù)組和矩陣的加減運(yùn)算使用加號(hào)和減號(hào),即“+”和“-”。 矩陣相乘使用“*”運(yùn)算符。如果只是將兩個(gè)矩陣中相同位置的元素相乘,使用

49、“.*”運(yùn)算符。 矩陣除法有左除和右除的區(qū)別,分別使用“”和“/”運(yùn)算符。 與“”和“/”運(yùn)算符相對(duì)應(yīng),也有“.”和“./”運(yùn)算符,分別用于將兩個(gè)矩陣中的對(duì)應(yīng)元素相除。 矩陣與常數(shù)的代數(shù)運(yùn)算,可以直接使用上面的各種運(yùn)算符。 133陽山書屋c矩陣的冪和平方根矩陣的冪運(yùn)算使用運(yùn)算符“”,冪運(yùn)算具有類似Xp的形式。如果p是整數(shù),則冪通過重復(fù)求平方來計(jì)算;如果該整數(shù)為負(fù)值,則首先計(jì)算X的逆;如果p取其他值,則計(jì)算需要用到特征值和特征矢量,即如果V,D=eig(X),則Xp=V*D.p/V。用sqrtm函數(shù)求矩陣的平方根。 134陽山書屋c矩陣的指數(shù)和對(duì)數(shù)矩陣的指數(shù)運(yùn)算用expm函數(shù)實(shí)現(xiàn)。矩陣的對(duì)數(shù)運(yùn)算

50、用logm函數(shù)實(shí)現(xiàn)。 135陽山書屋c矩陣的翻轉(zhuǎn)用fliplr函數(shù)左右翻轉(zhuǎn)矩陣;用flipud函數(shù)上下翻轉(zhuǎn)矩陣;用flipdim函數(shù)沿指定方向翻轉(zhuǎn)矩陣;用transpose函數(shù)沿主對(duì)角線翻轉(zhuǎn)矩陣。 136陽山書屋c矩陣的逆運(yùn)算用函數(shù)inv實(shí)現(xiàn)矩陣的逆運(yùn)算。 由函數(shù)pinv實(shí)現(xiàn)矩陣的偽逆運(yùn)算。 137陽山書屋c矩陣的跡矩陣的跡是指矩陣所有對(duì)角線元素的和。在MATLAB中,矩陣的跡可由函數(shù)trace計(jì)算得到。 138陽山書屋c矩陣的范數(shù)矩陣的范數(shù)運(yùn)算可由函數(shù)norm來實(shí)現(xiàn),具有norm(A), norm(A,1), norm(A,2), norm(A,inf), norm(A,fro)等形式,分別

51、代表矩陣的范數(shù)運(yùn)算、1-范數(shù)運(yùn)算、7-范數(shù)運(yùn)算、無窮大范數(shù)運(yùn)算和F-范數(shù)運(yùn)算。 139陽山書屋c矩陣的條件數(shù)條件數(shù)的值代表矩陣“病態(tài)”程度的大小。在MATLAB中,矩陣的條件數(shù)可分別由函數(shù)cond(A), condest(A)或rcond(A)計(jì)算得到,它們分別計(jì)算矩陣的條件數(shù)值、1-范數(shù)矩陣條件數(shù)值和矩陣的逆條件數(shù)值。 140陽山書屋c矩陣的重塑用reshape函數(shù)進(jìn)行矩陣重塑。下面將一個(gè)34的矩陣重塑為26的。例: A = 1 4 7 10; 2 5 8 11; 3 6 9 12 A = 1 4 7 10 2 5 8 11 3 6 9 12 B = reshape(A, 2, 6) B =

52、 1 3 5 7 9 11 2 4 6 8 10 12 141陽山書屋c矩陣的邏輯運(yùn)算使用邏輯運(yùn)算符,可以直接對(duì)數(shù)組或矩陣進(jìn)行邏輯運(yùn)算,包括邏輯非、邏輯或、邏輯與和邏輯異或運(yùn)算。142陽山書屋c矩陣的初等變換用rref函數(shù)進(jìn)行矩陣的初等行變換 。例:A=1 2 1 8;1 2 3 10;2 3 1 13;1 2 2 9A = 1 2 1 8 1 2 3 10 2 3 1 13 1 2 2 9B=rref(A)B = 1 0 0 3 0 1 0 2 0 0 1 1 0 0 0 0 143陽山書屋c矩陣的秩用函數(shù)rank求矩陣的秩。 例:a=1 2 0;2 5 -1;4 10 -1;b=rank(

53、a)b = 3 144陽山書屋c矩陣的分解矩陣的LU分解矩陣的QR分解矩陣的QZ分解矩陣的喬累斯基分解矩陣的奇異值分解矩陣的特征值分解矩陣的Schur分解145陽山書屋c矩陣的LU分解矩陣的LU分解是線性方程組求解方法中高斯消去法的基礎(chǔ),在MATLAB中由函數(shù)lu來實(shí)現(xiàn)。 146陽山書屋c矩陣的QR分解在MATLAB中,QR分解可由函數(shù)qr實(shí)現(xiàn)。常用的調(diào)用格式如下: B,C=qr(A) 返回的矩陣C為上三角矩陣,矩陣B為滿秩矩陣。 Q,R,E = qr(A) 返回的矩陣E是置換矩陣,矩陣R是上三角矩陣,矩陣Q是滿秩矩陣。上述矩陣滿足關(guān)系A(chǔ)*E = Q*R。 147陽山書屋c矩陣的QZ分解在MA

54、TLAB中,QZ分解可由函數(shù)qz來實(shí)現(xiàn)。qz函數(shù)常用的調(diào)用格式如下: AA,BB,Q,Z,V = qz(A,B) 要求矩陣A,B是方陣。產(chǎn)生的矩陣AA,BB是上三角矩陣,Q,Z是正交矩陣,矩陣V是特征矢量矩陣。其中,滿足Q*A*Z = AA與Q*B*Z = BB。 AA,BB,Q,Z,V = qz(A,B,flag) 對(duì)于方陣A,B的QZ分解取決于參數(shù)flag。參數(shù)flag可取complex與real。 148陽山書屋c矩陣的喬累斯基分解設(shè)矩陣A為n階對(duì)稱正定矩陣,則A矩陣可分解為LL,即A= LL。其中,矩陣L是上三角矩陣。此時(shí),這種分解就稱為喬累斯基分解。在MATLAB中,喬累斯基分解由函

55、數(shù)chol實(shí)現(xiàn)。 149陽山書屋c矩陣的奇異值分解在MATLAB中,矩陣的奇異值分解由函數(shù)svd來實(shí)現(xiàn),其調(diào)用格式為 b,c,d=svd(A) 150陽山書屋c矩陣的特征值分解在線性代數(shù)中,很多情況下需要求矩陣的特征值。MATLAB中求矩陣特征值的函數(shù)是eig和eigs。其中函數(shù)eigs主要應(yīng)用于稀疏矩陣。 151陽山書屋c矩陣的Schur分解在MATLAB中,矩陣的Schur分解由Schur函數(shù)來實(shí)現(xiàn),其調(diào)用格式為 b,c=schur(A)其中c矩陣為Schur矩陣。 152陽山書屋c線性方程組的求解方形系統(tǒng)超定系統(tǒng)不定系統(tǒng)153陽山書屋c矩陣的特征值和特征向量在MATLAB中,矩陣的特征值

56、運(yùn)算用函數(shù)eig或eigs實(shí)現(xiàn)。其中,eigs函數(shù)主要針對(duì)矩陣為稀疏矩陣的情況。 154陽山書屋c符號(hào)矩陣符號(hào)矩陣的四則運(yùn)算符號(hào)矩陣的轉(zhuǎn)置運(yùn)算符號(hào)矩陣的行列式運(yùn)算符號(hào)矩陣的求逆運(yùn)算符號(hào)矩陣的求秩運(yùn)算符號(hào)矩陣的常用函數(shù)運(yùn)算符號(hào)矩陣常用線性方程(組)的求解155陽山書屋c稀疏矩陣MATLAB中,創(chuàng)建稀疏矩陣一般用函數(shù)sparse或spdiags來實(shí)現(xiàn)。 稀疏矩陣由于存儲(chǔ)空間變小,而且MATLAB專門開發(fā)了針對(duì)它的算法,因此對(duì)稀疏矩陣的運(yùn)算速度也非常快。 156陽山書屋c第8章 概率論與數(shù)理統(tǒng)計(jì)的MATLAB實(shí)現(xiàn) 隨機(jī)變量及其分布 多維隨機(jī)變量及其分布 隨機(jī)變量的數(shù)字特征 樣本描述 參數(shù)估計(jì) 假設(shè)檢

57、驗(yàn) 方差分析 一元線性回歸157陽山書屋c隨機(jī)變量及其分布離散型隨機(jī)變量及其分布律 連續(xù)型隨機(jī)變量及其概率密度 分布函數(shù) 逆累加分布函數(shù) 158陽山書屋c離散型隨機(jī)變量及其分布二項(xiàng)分布泊松分布離散均勻分布幾何分布超幾何分布159陽山書屋c連續(xù)型隨機(jī)變量及其概率密度連續(xù)型均勻分布指數(shù)分布正態(tài)分布160陽山書屋c分布函數(shù)對(duì)于離散型隨機(jī)變量X,設(shè)x為任意實(shí)數(shù),X的分布函數(shù)為對(duì)于連續(xù)型隨機(jī)變量X,假設(shè)其概率密度為f(x),則其分布函數(shù)為161陽山書屋c逆累加分布函數(shù)逆累加分布函數(shù)是累加分布函數(shù)的逆函數(shù)。利用逆累加分布函數(shù),可以求得滿足給定概率時(shí)隨機(jī)變量對(duì)應(yīng)的置信區(qū)間的最小值和最大值。 162陽山書屋c

58、多維隨機(jī)變量及其分布用mvnpdf和mvncdf函數(shù)可以計(jì)算二維正態(tài)分布隨機(jī)變量在指定位置處的概率和累積分布函數(shù)值。下面左圖和右圖分別為二維正態(tài)分布隨機(jī)變量的概率密度圖和累積分布圖。 163陽山書屋c隨機(jī)變量的數(shù)字特征期望方差常見分布的數(shù)學(xué)期望和方差協(xié)方差和相關(guān)系數(shù)矩和協(xié)方差矩陣164陽山書屋c樣本描述集中趨勢(shì) 包括算術(shù)平均值、幾何均值、調(diào)和均值、中值和截尾均值等。離中趨勢(shì) 包括均值絕對(duì)差、極差、方差和標(biāo)準(zhǔn)差等。抽樣分布 包括卡方分布、t分布和F分布等。165陽山書屋c參數(shù)估計(jì)點(diǎn)估計(jì) 可以用矩法和最大似然法進(jìn)行參數(shù)估計(jì)。區(qū)間估計(jì) 可以用mle函數(shù),利用最大似然估計(jì)法進(jìn)行參數(shù)的區(qū)間估計(jì)。常見分布

59、的參數(shù)估計(jì) MATLAB統(tǒng)計(jì)工具箱提供了多種函數(shù)的參數(shù)估計(jì)函數(shù),詳見課本。166陽山書屋c假設(shè)檢驗(yàn)方差已知時(shí)的均值檢驗(yàn)方差未知時(shí)單個(gè)正態(tài)總體均值的檢驗(yàn)方差未知時(shí)兩個(gè)正態(tài)總體均值差的檢驗(yàn)基于成對(duì)數(shù)據(jù)的檢驗(yàn)分布擬合檢驗(yàn)167陽山書屋c方差已知時(shí)的均值檢驗(yàn)用ztest函數(shù)在給定方差的條件下檢驗(yàn)單樣本數(shù)據(jù)是否服從給定均值的正態(tài)分布。 168陽山書屋c方差未知時(shí)單個(gè)正態(tài)總體均值的假設(shè)檢驗(yàn)t檢驗(yàn)是用小樣本檢驗(yàn)總體參數(shù),特點(diǎn)是在均方差不知道的情況下,可以檢驗(yàn)樣本平均數(shù)的顯著性。 用ttest函數(shù)進(jìn)行樣本均值的t檢驗(yàn)。 169陽山書屋c方差未知時(shí)兩個(gè)正態(tài)總體均值差的檢驗(yàn)ttest2函數(shù)對(duì)兩個(gè)樣本的均值差異進(jìn)行

60、t檢驗(yàn)。 170陽山書屋c基于成對(duì)數(shù)據(jù)的檢驗(yàn)實(shí)際工作中為了比較兩種方法或兩種產(chǎn)品的差異,常常需要進(jìn)行對(duì)比試驗(yàn)。這樣得到的數(shù)據(jù)具有成對(duì)的特點(diǎn)。分析這種數(shù)據(jù),還是需要t檢驗(yàn)。前面用到的ttest函數(shù)可以進(jìn)行檢驗(yàn)。 171陽山書屋c分布擬合檢驗(yàn)q-q圖峰度-偏度檢驗(yàn)秩和檢驗(yàn)172陽山書屋cq-q圖q-q圖用變量數(shù)據(jù)分布的分位數(shù)與所指定分布的分位數(shù)之間的關(guān)系曲線來檢驗(yàn)數(shù)據(jù)的分布。如果兩個(gè)樣本來自同一分布,則圖中數(shù)據(jù)點(diǎn)呈現(xiàn)直線關(guān)系,否則為曲線關(guān)系。 173陽山書屋c峰度-偏度檢驗(yàn)峰度-偏度檢驗(yàn)又稱為Jarque-Bera檢驗(yàn),評(píng)價(jià)給定數(shù)據(jù)服從未知均值和方差的正態(tài)分布的假設(shè)是否成立。該檢驗(yàn)基于數(shù)據(jù)樣本的偏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論