版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
MATLAB實用教程
電子教案1.0下載更新:./matlab/index.htmlMATLAB實用教程-電子教案本書的主要內(nèi)容和結(jié)構(gòu)MATLAB實用教程-電子教案第1章MATLAB簡介MATLAB的主要特點
MATLAB的桌面環(huán)境
MATLAB的幫助系統(tǒng)MATLAB實用教程-電子教案MATLAB的主要特點簡單易學代碼短小高效計算功能強大繪圖功能強大可擴展性能MATLAB實用教程-電子教案MATLAB的桌面環(huán)境啟動按鈕命令窗口命令歷史窗口工作空間窗口當前目錄瀏覽器MATLAB實用教程-電子教案主界面當前目錄瀏覽工具命令窗口啟動按鈕命令歷史窗口工作空間窗口MATLAB實用教程-電子教案MATLAB的幫助系統(tǒng)幫助瀏覽工具help函數(shù)和doc函數(shù)MATLAB實用教程-電子教案第2章數(shù)據(jù)類型
常數(shù)和變量數(shù)組和矩陣字符串多維數(shù)組結(jié)構(gòu)單元數(shù)組函數(shù)句柄MATLAB實用教程-電子教案常數(shù)常數(shù)返回值ans默認變量名,保存最近的結(jié)果。如果不給表達式指定一個輸出變量,MATLAB會自動將結(jié)果保存到ans變量中
eps浮點相對精度。是MATLAB用于計算的容限
realmax計算機可以表示的最大浮點數(shù)
realmin計算機可以表示的最小浮點數(shù)
pi圓周率
i,j虛數(shù)單位
inf無限值。類似n/0的表達式生成的結(jié)果為inf,其中n為非0實數(shù)
NaN表示不合法的數(shù)值值,非數(shù)值。類似0/0和inf/inf的表達式生成的結(jié)果,與NaN有關的算術(shù)運算結(jié)果,以及n/0,n為復數(shù)時的計算結(jié)果都是NaNcomputer計算機類型
versionMATLAB版本字符串
下表列出了MATLAB提供的一些內(nèi)部函數(shù)。MATLAB實用教程-電子教案變量變量名
MATLAB變量名的第1個字符必須是字母,后面可以跟字母、數(shù)字和下劃線的任何組合。
注意:MATLAB中變量名有大小寫區(qū)分,所以A和a是不同的變量。
創(chuàng)建變量在MATLAB中創(chuàng)建變量很簡單,不必聲明變量的數(shù)據(jù)類型。例如在命令窗口鍵入下面的命令行就可以創(chuàng)建一個A變量。
A=9A=9
MATLAB實用教程-電子教案變量的數(shù)據(jù)類型數(shù)組邏輯型字符型數(shù)值型單元數(shù)組結(jié)構(gòu)數(shù)組函數(shù)句柄Java類定制類int8,uint8int16,uint16int32,uint32SingleDoubleMATLAB實用教程-電子教案數(shù)組和矩陣MATLAB中,所有數(shù)據(jù)都用數(shù)組或矩陣形式進行保存。數(shù)組矩陣MATLAB實用教程-電子教案數(shù)組構(gòu)造數(shù)組的方法:直接構(gòu)造法增量法linspace函數(shù)法MATLAB實用教程-電子教案直接構(gòu)造數(shù)組
在MATLAB中構(gòu)造數(shù)組,只需要用空格或逗號間隔數(shù)組元素,然后用方括號括起來就行了。如
x=[023678]
或
x=[0,2,3,6,7,8]就構(gòu)造了一個有6個元素的數(shù)組x。
MATLAB實用教程-電子教案用增量法構(gòu)造數(shù)組
利用MATLAB提供的冒號運算符(first:step:last)可以生成數(shù)組。數(shù)組中的元素按順序從first一直到last,增量為step。如果不指定增量step,則按升序生成數(shù)組,后面的數(shù)比它前面第一個數(shù)大1。
如果要求生成降序排列的數(shù)組,指定一個負的增量。增量可以是整數(shù),也可以是小數(shù)。MATLAB實用教程-電子教案用linspace函數(shù)構(gòu)造數(shù)組
用linspace函數(shù)構(gòu)造數(shù)組,需要指定首尾值和元素總個數(shù)?;拘问绞牵?/p>
x=linspace(first,last,num)其中,first,last和num分別為x數(shù)組的首尾元素和元素個數(shù)。如
x=linspace(0,10,5)x=02.50005.00007.500010.0000MATLAB實用教程-電子教案矩陣構(gòu)造矩陣的方法:簡單的創(chuàng)建方法構(gòu)造特殊矩陣聚合矩陣組合不同類型的數(shù)據(jù)MATLAB實用教程-電子教案用簡單方法構(gòu)造矩陣MATLAB中創(chuàng)建矩陣最簡單的方法是使用符號[]。在方括號內(nèi)輸入多個元素可以創(chuàng)建矩陣的一個行。用逗號或空格把每個元素間隔開。如果想開始一個新行,用分號終止當前行:
A=[row1;row2;...;rown]
下面創(chuàng)建一個3行5列的數(shù)值矩陣。
A=[126293-822;162874391;-417-72956]A=126293-822162874391-417-72956MATLAB實用教程-電子教案構(gòu)造特殊矩陣MATLAB提供了多個創(chuàng)建不同矩陣的函數(shù),如下表所示。
函數(shù)功能ones創(chuàng)建一個所有元素都為1的矩陣
zeros創(chuàng)建一個所有元素都為0的矩陣
eye創(chuàng)建對角線元素為1,其他元素為0的矩陣
accumarray將輸入矩陣的元素分配到輸出矩陣中的指定位置
diag根據(jù)矢量創(chuàng)建對角矩陣
magic創(chuàng)建一個方形矩陣,其中行、列和對角線上元素的和相等
rand創(chuàng)建一個矩陣或數(shù)組,其中的元素為服從均勻分布的隨機數(shù)
randn創(chuàng)建一個矩陣或數(shù)組,其中的元素為服從正態(tài)分布的隨機數(shù)
randperm創(chuàng)建一個矢量(1×n的矩陣)MATLAB實用教程-電子教案聚合矩陣
矩陣聚合是通過連接一個或多個矩陣來形成新的矩陣。符號[]不僅是矩陣構(gòu)造符,它還是MATLAB聚合運算符。表達式C=[AB]在水平方向上聚合矩陣A和B,表達式C=[A;B]在垂向上聚合它們。本例通過在垂向上聚合矩陣A和B來構(gòu)造新矩陣C:
A=ones(2,5)*6;%2×5的矩陣,元素為6B=rand(3,5);%3×5的矩陣,元素為隨機數(shù)
C=[A;B]%垂向聚合A和B
MATLAB實用教程-電子教案組合不同類型的數(shù)據(jù)
構(gòu)造矩陣時,如果矩陣的數(shù)據(jù)類型不同,則MATLAB會自動對某些元素進行類型轉(zhuǎn)換,然后生成的矩陣具有相同的類型。用一個高精度的矩陣和一個低精度的矩陣構(gòu)造新矩陣時,新矩陣是低精度型的。例如,聚合double型和single型的矩陣時,總是生成single型的矩陣。MATLAB會先將double型元素轉(zhuǎn)換為single型。
MATLAB實用教程-電子教案聚合矩陣的特殊函數(shù)下表列出了聚合矩陣的一些特殊函數(shù)。函數(shù)描述cat沿指定的維聚合矩陣
horzcat水平聚合矩陣
vertcat垂向聚合矩陣
repmat通過復制和疊置矩陣來創(chuàng)建新矩陣
blkdiag用已有矩陣創(chuàng)建塊對角矩陣
MATLAB實用教程-電子教案獲取矩陣的元素使用編號索引使用線性索引使用冒號使用end關鍵字MATLAB實用教程-電子教案使用編號索引獲取矩陣的元素
利用編號和索引,可以獲取MATLAB矩陣的元素。要引用矩陣中的特殊元素,用下面的語法指定它的行號和列號,其中A是矩陣變量。按先行后列的順序指定。
A(row,column)MATLAB實用教程-電子教案使用線性索引獲取矩陣的元素MATLAB保存矩陣中的數(shù)據(jù)時是作為一個元素列保存。這個元素列又是由矩陣中的所有列組成的,后一列元素按先后順序添加到前一列元素的最后。所以,矩陣AA=[269;428;301]A=269428351
在內(nèi)存中是按下面的序列保存的:
2,4,3,6,2,5,9,8,1
矩陣A第3行第2列的元素可以看作實際保存序列中的第6個元素。要獲取這個元素,可以使用標準語法A(3,2)或使用A(6)。MATLAB實用教程-電子教案使用冒號獲取矩陣的元素
利用冒號本身可以引用矩陣某行或列的所有元素。使用下面的語法,可以計算4×4的魔方矩陣A中所有元素的和。
sum(A(:,2))ans=34
將冒號進行索引,可以引用整個矩陣中的所有元素。本例顯示矩陣A中的所有元素,按列序返回它們:
A(:)MATLAB實用教程-電子教案使用end關鍵字獲取矩陣的元素
利用end關鍵字可以指定矩陣某維的最后一個元素。它適用于不知道矩陣有多少行或多少列的情況。例如,可以用下面的語句進行值的替換:
B(1:3:end)=-10
MATLAB實用教程-電子教案字符串字符串的創(chuàng)建類型轉(zhuǎn)換字符串的比較字符串的聚合字符串的搜索和替換MATLAB實用教程-電子教案創(chuàng)建字符串通過把字符放到單引號中來指定字符數(shù)據(jù)。如,下面創(chuàng)建一個1×5的字符串country。
country='China';
創(chuàng)建一個二維字符串時,確定每行具有相同的長度,例如,下面兩個字符串都有5個字符,用它們組合起來的二維字符串是合法的。
name=['LiYi';'HuXu']name=LiYiHuXu
根據(jù)不同長度的字符串創(chuàng)建字符串時,將短的那些字符串后面用空格補齊,使所有字符串的長度相同。
MATLAB實用教程-電子教案類型轉(zhuǎn)換用char函數(shù)把單元數(shù)組轉(zhuǎn)換為標準字符串數(shù)組。
str2double函數(shù)把一個字符串單元數(shù)組轉(zhuǎn)換為字符串表示的雙精度值。
int2str函數(shù)將整型數(shù)據(jù)轉(zhuǎn)換為字符串型數(shù)據(jù)。
num2str函數(shù)對輸出字符串的格式提供了更多控制,該函數(shù)的第2個變量是可選的,它設置輸出字符串的位數(shù),或指定一個實際的格式。
mat2str函數(shù)將數(shù)組轉(zhuǎn)換為字符串。
mat2str函數(shù)將返回一個包含文本的字符串,該文本在命令行中輸入,用于創(chuàng)建矩陣。
MATLAB實用教程-電子教案字符串的比較用strcmp函數(shù)比較字符串,字符串不相等時,返回false??梢允褂肕ATLAB的關系運算符,如,可以用(==)確定兩個字符串中的相同字符。所有關系運算符(>,>=,<,<=,==,!=)比較對應字符的值。MATLAB實用教程-電子教案字符串的聚合字符串通??梢杂筛〉脑鼐酆隙?。兩個通用的聚合方法是使用MATLAB聚合運算符([])或sprintf函數(shù)。用strcat函數(shù)也可以把兩個或更多字符串組合在一起。
MATLAB實用教程-電子教案字符串的搜索和替換strrep函數(shù)進行標準的搜索和替代操作。findstr函數(shù)把子字符串的起始位置返回到一個更長的字符串中。
strtok函數(shù)在輸入字符串中第一次發(fā)現(xiàn)間隔符時返回間隔符前面的字符,可用該函數(shù)把句子分離成單詞。
strmatch函數(shù)在字符串或字符串單元數(shù)組的整個行中進行查找,看有沒有以給定字符序列打頭的字符串,它返回以該字符串打頭的行的行號。
MATLAB實用教程-電子教案多維數(shù)組用索引生成多維數(shù)組用特殊函數(shù)生成多維數(shù)組用cat函數(shù)生成多維數(shù)組MATLAB實用教程-電子教案用索引生成多維數(shù)組
創(chuàng)建多維數(shù)組的方法之一是先創(chuàng)建一個二維數(shù)組,然后擴展它。如:
A=[578;019;436];A是一個3×3的數(shù)值,即它的行維和列維都是3。給A添加第三維。
A(:,:,2)=[104;356;987]
MATLAB實用教程-電子教案用特殊函數(shù)生成多維數(shù)組
可以使用與生成二維數(shù)組相同的方式,用randn,ones和zeros函數(shù)等生成多維數(shù)組。提供的每個變量表示生成的數(shù)組中對應維的大小。如:要創(chuàng)建一個正態(tài)分布隨機數(shù)的4×3×2的數(shù)組,可以輸入:
B=randn(4,3,2)
要生成一個元素均為同一常數(shù)的數(shù)組,使用repmat函數(shù)。如:
B=repmat(5,[342])
MATLAB實用教程-電子教案用cat函數(shù)生成多維數(shù)組cat函數(shù)是創(chuàng)建多維數(shù)組的一種簡單方式,它按指定的維數(shù)將多個數(shù)組聚合到一起,其調(diào)用格式為:
B=cat(dim,A1,A2...)
其中A1,A2等是進行聚合的數(shù)組,dim是維數(shù)。
MATLAB實用教程-電子教案結(jié)構(gòu)創(chuàng)建結(jié)構(gòu)數(shù)組獲取結(jié)構(gòu)數(shù)組中的數(shù)據(jù)數(shù)組的大小操作字段結(jié)構(gòu)的嵌套MATLAB實用教程-電子教案創(chuàng)建結(jié)構(gòu)數(shù)組使用賦值語句可以通過將數(shù)據(jù)賦給單獨的字段來生成一個簡單的1×1結(jié)構(gòu)數(shù)組。
使用struct函數(shù)可以用struct函數(shù)預分配一個結(jié)構(gòu)數(shù)組。其基本形式為:
str_array=struct('field1',val1,'field2',val2,...)
其中,變量為字段名和它們的對應值。
MATLAB實用教程-電子教案單元數(shù)組創(chuàng)建單元數(shù)組獲取單元數(shù)組的數(shù)據(jù)刪除單元和重塑單元數(shù)組MATLAB實用教程-電子教案創(chuàng)建單元數(shù)組用賦值語句創(chuàng)建單元數(shù)組可以使用單元索引和內(nèi)容索引兩種方式創(chuàng)建單元數(shù)組。用cell函數(shù)創(chuàng)建單元數(shù)組使用cell函數(shù),可以預分配指定大小的空單元數(shù)組,如,下面的語句創(chuàng)建一個空的單元數(shù)組:
B=cell(2,3);
然后可以用賦值語句填充B單元。
MATLAB實用教程-電子教案函數(shù)句柄
函數(shù)句柄是一種MATLAB數(shù)據(jù)類型,它包含用于引用函數(shù)的信息。創(chuàng)建函數(shù)句柄時,MATLAB在句柄中保存所有與要運行的函數(shù)有關的信息。
第3章將對函數(shù)句柄進行比較詳細的介紹。MATLAB實用教程-電子教案第3章M文件設計
變量表達式流程控制函數(shù)
M文件程序調(diào)試與錯誤處理編程技巧MATLAB實用教程-電子教案變量變量的作用范圍局部變量:局部變量的作用范圍僅限于本函數(shù)。全局變量:全局變量用global關鍵字進行聲明,其作用范圍為整個M文件。
變量的存活期
變量的存活期代表變量保持其值的能力。
用persistent關鍵字聲明固定變量,可以保持變量的值。MATLAB實用教程-電子教案表達式數(shù)值表示運算符處理字符串表達式MATLAB實用教程-電子教案數(shù)值表示MATLAB使用傳統(tǒng)的數(shù)值表示方法。對于比較長的數(shù),使用科學計數(shù)法,用字母e指定以10為底的冪次。虛數(shù)用i或j作為后綴。下面是一些合法的數(shù)值表示:3-990.00019.63972381.60210e-206.02252e231i-3.14159j3e5i
MATLAB實用教程-電子教案運算符算術(shù)運算符比較運算符邏輯運算符運算符的優(yōu)先級MATLAB實用教程-電子教案運算符的優(yōu)先級按照優(yōu)先級別,各種運算符有下面的先后次序。小括號()轉(zhuǎn)置(.')、冪(.^)、復數(shù)共軛轉(zhuǎn)置(')、矩陣的冪(^)一元的加(+)、一元的減(-)、邏輯否(~)乘(.*)、右除(./)、左除(.\)、矩陣乘(*)、矩陣右除(/)、矩陣左除(\)加(+)、減(-)冒號操作符(:)小于(<)、小于或等于(<=)、大于(>)、大于或等于(>=)、等于(==)、不等于(~=)逐元素AND(&)逐元素OR(|)&&||MATLAB實用教程-電子教案處理字符串表達式
處理字符串表達式需要使用eval函數(shù)和feval函數(shù)。
eval函數(shù)可以處理包含MATLAB表達式、語句或函數(shù)調(diào)用的字符串。
feval函數(shù)與eval函數(shù)的區(qū)別在于,該函數(shù)執(zhí)行函數(shù)而不是MATLAB表達式。
注意:盡量少用eval函數(shù),因為使用eval函數(shù)的代碼通常不好讀,不易調(diào)試。MATLAB實用教程-電子教案流程控制條件控制循環(huán)控制錯誤控制程序終止控制MATLAB實用教程-電子教案條件控制if/elseif語句switch/case語句比較上面兩種語句,switch/case語句的可讀性更強,并且可以比較不同長度的字符串。MATLAB實用教程-電子教案循環(huán)控制for循環(huán)while循環(huán)continue命令break命令MATLAB實用教程-電子教案錯誤控制try…catch語句進行錯誤捕獲,它把有可能引起異常的語句放在try控制塊中,這樣當try控制塊中statement語句引起異常時,catch控制塊就可以捕獲它,并針對不同的錯誤類型,進行不同的處理。
MATLAB實用教程-電子教案程序終止控制return命令能使當前正在運行的函數(shù)正常退出,并返回調(diào)用它的函數(shù),繼續(xù)運行。
下表比較break,continue和return命令。命令用在何處描述breakfor或while循環(huán)
它出現(xiàn)時,退出循環(huán),在嵌套的循環(huán)中,進入相鄰的外層循環(huán)
continuefor或while循環(huán)
在本循環(huán)中跳過剩余的語句,進入本循環(huán)的下一次迭代
return任意位置
它出現(xiàn)時,立即退出函數(shù),進入函數(shù)的調(diào)用函數(shù)中
MATLAB實用教程-電子教案函數(shù)主函數(shù)子函數(shù)匿名函數(shù)嵌套函數(shù)私有函數(shù)重載函數(shù)MATLAB實用教程-電子教案主函數(shù)任何M文件中的第1個函數(shù)稱為主函數(shù)。
注意:一般使主函數(shù)的名稱與M文件的相同。如果函數(shù)名與文件名不同,必須用文件名調(diào)用函數(shù)。MATLAB實用教程-電子教案子函數(shù)M文件中可以包含一個以上的函數(shù)。文件中除主函數(shù)以外的其他函數(shù)稱為子函數(shù),并且它們只對主函數(shù)或同一文件中的其他子函數(shù)可見。
MATLAB實用教程-電子教案匿名函數(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ù)的逗號間隔的輸入?yún)?shù)列表。
MATLAB實用教程-電子教案嵌套函數(shù)
可以在一個函數(shù)中嵌套定義一個或多個函數(shù)。嵌套函數(shù)具有類似下面的形式:
functionx=A(p1,p2)…functiony=B(p3)…end…endMATLAB實用教程-電子教案私有函數(shù)
私有函數(shù)是private子目錄中的函數(shù)。它們只對父目錄中的函數(shù)可見。
MATLAB實用教程-電子教案重載函數(shù)
有時候同一個函數(shù)可以用于多種情況,對應地有不同的輸入?yún)?shù),此時要用到重載函數(shù)。比如繪制二維線形圖的plot函數(shù)就有多種重載形式,下面是其中兩種。
plot(Y)plot(X1,Y1,...)
這兩個函數(shù)具有相同的函數(shù)名,不同的參數(shù)。調(diào)用plot函數(shù)時MATLAB會根據(jù)函數(shù)的參數(shù)自動選擇使用。
MATLAB實用教程-電子教案M文件腳本式M文件和函數(shù)式M文件M文件的基本結(jié)構(gòu)函數(shù)的參數(shù)函數(shù)句柄MATLAB實用教程-電子教案腳本式M文件和函數(shù)式M文件腳本式M文件和函數(shù)式M文件的區(qū)別如下表所示。腳本式M文件函數(shù)式M文件不接受輸入?yún)?shù),沒有返回值可以接受輸入?yún)?shù),可以有返回值基于工作空間中的數(shù)據(jù)進行操作默認時,文件中參數(shù)的作用范圍只限于函數(shù)內(nèi)部
自動完成需要花費很多時間的多步操作時使用
擴展MATLAB語言功能時使用
MATLAB實用教程-電子教案M文件的基本結(jié)構(gòu)
一個完整的函數(shù)式M文件應該包括函數(shù)定義行、H1行、幫助文本、函數(shù)體、注釋和函數(shù)代碼等方面的內(nèi)容,其中函數(shù)定義行和函數(shù)代碼是必需的。如
function[x,y]=myfun(a,b,c)
函數(shù)定義行
%H1行
–用一行文字來綜述函數(shù)的功能
%幫助文本
–用一行或多行文本解釋如何使用函數(shù),
%在命令行中鍵入"help<functionname>"時可以使用它
%函數(shù)體一般從第一個空白行后開始
%注釋
–描述函數(shù)的行為,輸入輸出的類型等,
%在命令行中鍵入"help<functionname>"時不會顯示這些文本
x=prod(a,b);%開始編寫函數(shù)代碼MATLAB實用教程-電子教案函數(shù)的參數(shù)檢查輸入?yún)?shù)的個數(shù)傳遞參數(shù)解包varargin中的內(nèi)容打包varargout參數(shù)列表中的varargin和varargout返回輸出參數(shù)MATLAB實用教程-電子教案檢查輸入?yún)?shù)的個數(shù)
利用nargin和nargout函數(shù)可以確定函數(shù)輸入?yún)?shù)和輸出參數(shù)的個數(shù)。然后可以根據(jù)參數(shù)個數(shù)用條件語句完成不同的任務,例如
functionc=testarg1(a,b)if(nargin==1)c=a.^2;elseif(nargin==2)c=a+b;end
給定一個輸入?yún)?shù)時,函數(shù)計算輸入值的平方;給定兩個輸入?yún)?shù)時,求它們的和。
MATLAB實用教程-電子教案傳遞參數(shù)
使用varargin和varargout函數(shù)可以傳遞任意個數(shù)的輸入?yún)?shù)或者返回任意個數(shù)的輸出參數(shù)給函數(shù)。
MATLAB把所有指定的輸入?yún)?shù)指定到一個單元數(shù)組中。每個單元可以包含任意大小或類型的數(shù)據(jù)。對于輸出參數(shù),函數(shù)代碼必須把它們打包到一個單元數(shù)組中,這樣,MATLAB就可以把參數(shù)返回給調(diào)用函數(shù)。
MATLAB實用教程-電子教案解包varargin中的內(nèi)容
因為varargin將所有輸入?yún)?shù)包含在一個單元數(shù)組中,所以有必要使用單元數(shù)組索引來提取數(shù)據(jù)。例如y(n)=varargin{n}(2);
其中,索引表達式{n}獲取varargin的第n個單元。表達式(2)表示單元內(nèi)容的第二個元素。
MATLAB實用教程-電子教案打包varargout當允許有任意多個輸出參數(shù)時,必須將所有輸出打包到varargout單元數(shù)組中。使用nargout確定輸出參數(shù)的個數(shù)。
MATLAB實用教程-電子教案參數(shù)列表中的varargin和varargoutvarargin或varargout必須出現(xiàn)在參數(shù)列表的最后,即函數(shù)調(diào)用必須首先指定必要的參數(shù)。
MATLAB實用教程-電子教案返回輸出參數(shù)放在函數(shù)定義行中等號左側(cè)的任何參數(shù)都是調(diào)用函數(shù)的返回值。如果傳遞任何函數(shù)可以修改的輸入?yún)?shù),需要把相同的參數(shù)作為輸出參數(shù),這樣,調(diào)用函數(shù)可以獲得更新后的值。
MATLAB實用教程-電子教案函數(shù)句柄在MATLAB中,在函數(shù)名前用@符號創(chuàng)建一個函數(shù)句柄。下面的例子為humps函數(shù)創(chuàng)建一個函數(shù)句柄并將它指定給變量fhandle。
fhandle=@humps;
可以像傳遞其它變量一樣將句柄傳遞給另一個函數(shù)。
用MATLAB的feval命令運行函數(shù)句柄的目標函數(shù)。用函數(shù)句柄使用本命令的語法為:
feval(fhandle,arg1,arg2,...,argn)
MATLAB實用教程-電子教案程序調(diào)試和錯誤處理用try-catch語句檢查錯誤錯誤和警告信息用Debug菜單進行調(diào)試MATLAB實用教程-電子教案編程技巧矢量化預分配內(nèi)存空間程序運行情況監(jiān)測--ProfilerMATLAB實用教程-電子教案第4章圖形繪制
創(chuàng)建二維圖形創(chuàng)建三維圖形MATLAB實用教程-電子教案創(chuàng)建二維圖形線形圖、條形圖和面積圖餅圖誤差條圖散點圖直方圖對數(shù)坐標圖和半對數(shù)坐標圖多軸圖極坐標圖帕累托圖火柴桿圖階梯圖玫瑰花圖函數(shù)的圖形動畫MATLAB實用教程-電子教案函數(shù)的圖形可以用fplot函數(shù)在指定范圍內(nèi)繪函數(shù)的圖形。函數(shù)必須是y=f(x)形式的,其中,x是矢量,為自變量;y為矢量,為因變量。
創(chuàng)建一個M文件myfun,它返回一個兩列矩陣。
functionY=myfun(x)Y(:,1)=200*sin(x(:))./x(:);Y(:,2)=x(:).^2;創(chuàng)建一個指向myfun的函數(shù)句柄。
fh=@myfun;用下面的語句繪圖。
fplot(fh,[-2020])
生成右圖。
MATLAB實用教程-電子教案創(chuàng)建動畫在MATLAB中,可以用兩種方法創(chuàng)建動畫序列:·
保存很多不同的圖片,然后以電影的形式進行顯示;·
在屏幕上連續(xù)擦除和重畫對象。每次重畫都作遞增式的改變。MATLAB實用教程-電子教案繪制三維圖形用給定數(shù)據(jù)繪三維線形圖用給定數(shù)據(jù)繪三維表面圖表面圖繪制的數(shù)據(jù)格式問題函數(shù)的曲線和曲面二次曲面樣條曲線和曲面多邊形對象模型消隱控制三維圖形的場景效果設置MATLAB實用教程-電子教案用給定數(shù)據(jù)繪三維線形圖利用plot3函數(shù)可以繪制三維線形圖。用plot3函數(shù)繪圖時,需要指定線條穿過的點的坐標。假設X,Y和Z是3個矢量,分別表示一系列點的x坐標、y坐標和z坐標,則下面的命令創(chuàng)建一條經(jīng)過這些點的三維曲線。
plot3(X,Y,Z)MATLAB實用教程-電子教案用給定數(shù)據(jù)繪三維表面圖
當繪圖數(shù)據(jù)已知時,可以用mesh,surf和surfl等函數(shù)直接繪制網(wǎng)格圖、刻面圖和曲面圖。網(wǎng)格圖和刻面圖又分三角形和四邊形兩種。MATLAB實用教程-電子教案表面圖繪制的數(shù)據(jù)格式問題MATLAB繪制表面圖時數(shù)據(jù)格式是矩陣格式的,而我們通常得到的采樣數(shù)據(jù)或數(shù)值計算數(shù)據(jù)是點坐標格式的。所以,用MATLAB函數(shù)繪表面圖以前,需要先轉(zhuǎn)換數(shù)據(jù)格式。xyzx(1,1)y(1,1)z(1,1)x(1,2)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矩陣MATLAB實用教程-電子教案函數(shù)的曲線和曲面使用ezplot函數(shù)和ezplot3函數(shù),可以很方便地繪制二維和三維參數(shù)曲線;使用ezpolar函數(shù),可以在極坐標中繪制參數(shù)曲線。
用ezmesh函數(shù)繪制函數(shù)表示的網(wǎng)格。函數(shù)形式可以是一般形式,也可以是參數(shù)形式。用ezsurf函數(shù)繪制函數(shù)表示的曲面。
MATLAB實用教程-電子教案二次曲面用cylinder函數(shù)生成柱面。
用sphere函數(shù)生成球面。
MATLAB實用教程-電子教案樣條曲線和曲面利用MATLAB的樣條工具箱,可以繪制多種樣條曲線和曲面。
利用MATLAB樣條工具箱,可以繪制樣條曲面,包括三次樣條曲面、B樣條曲面和有理樣條曲面等。
MATLAB實用教程-電子教案多邊形對象模型
由一個或多個相連或不相連的多邊形組成的對象稱為面片圖形對象,也常稱為多邊形對象模型。
創(chuàng)建多邊形對象,需要定義面片。只需要指定頂點坐標和某種形式的顏色數(shù)據(jù)就可以定義面片了。面片支持多種著色方式,這一點對于用幾何形體進行數(shù)據(jù)可視化很有用。定義面片主要有兩種方式:指定每個多邊形的頂點坐標,MATLAB按順序連接這些頂點,形成面片。指定每個頂點的坐標值和一個指定如何把這些點連成面的矩陣。
MATLAB實用教程-電子教案消隱處理
默認時,MATLAB繪制三維圖形時會進行消隱處理。利用下面的命令,可以取消消隱:
hiddenoffMATLAB實用教程-電子教案三維圖形的場景效果設置
繪制三維圖以后,可以對它進行著色,添加光照,設置材質(zhì)、紋理、透明性并進行交互操作。
MATLAB實用教程-電子教案第5章圖形編程
句柄圖形對象基本圖形元素的繪制圖形的著色圖形變換定制圖形交互繪圖MATLAB實用教程-電子教案句柄圖形對象句柄圖形對象簡介Figure對象Root對象對象的屬性MATLAB實用教程-電子教案句柄圖形對象的組織結(jié)構(gòu)句柄圖形對象的層次體系如下圖所示。RootFigureUI對象Axes隱藏的AnnotationAxes對象核心對象繪圖對象組對象Annotation對象MATLAB實用教程-電子教案Figure對象Figure對象是MATLAB顯示圖形的窗口。圖形窗口包括菜單、工具條、用戶界面對象、上下文菜單、坐標系和坐標系的子對象等。
MATLAB實用教程-電子教案Root對象Root對象是Figure對象的父對象。不能實例化Root對象,因為它的作用只是保存信息,它保存MATLAB狀態(tài)、計算機系統(tǒng)和MATLAB默認設置等信息。
MATLAB實用教程-電子教案對象的屬性圖形對象的屬性控制它外觀和行為的很多方面。屬性包括了諸如對象類型、父對象、子對象、可見性之類的一般信息,也包括該對象類型的獨有信息。例如,在任何給定的Figure對象上,可以知道最后按下的是哪個鍵、鼠標光標的位置或者最近選擇的菜單的句柄等。
MATLAB實用教程-電子教案基本圖形元素的繪制繪制直線段、多義線和曲線—line函數(shù)繪制矩形、圓角矩形、橢圓、圓及對應的區(qū)域圖形—rectangle函數(shù)繪制多邊形—patch函數(shù)繪制文本—text函數(shù)MATLAB實用教程-電子教案繪制直線段和多義線MATLAB中的直線段和多義線用Line對象表示。用line函數(shù)創(chuàng)建直線段對象。按照直線逼近的思路,還可以用該函數(shù)創(chuàng)建曲線。
下面利用line函數(shù)生成多義線:
X2=[192028];Y2=[1251032];line(X2,Y2,'LineWidth',2,'Marker','+')
MATLAB實用教程-電子教案繪制曲線按照直線逼近的思路,可以用line函數(shù)創(chuàng)建曲線。下面用多條直線段逼近余弦曲線,左圖用10條直線段逼近,右圖用20條直線段逼近。MATLAB實用教程-電子教案繪制矩形、圓角矩形、橢圓、圓及對應的區(qū)域圖形MATLAB中,矩形、圓角矩形、橢圓、圓及對應的區(qū)域圖形都用Rectangle對象表示。用rectangle函數(shù)可以創(chuàng)建Rectangle對象。
在同一個坐標系中創(chuàng)建矩形、圓角矩形、橢圓和圓各一個,使用了不同的線型和線寬。
rectangle('Position',[1,1,20,10],'LineWidth',3);rectangle('Position',[5,3,10,15],'Curvature',[11]);rectangle('Position',[5,3,10,10],'Curvature',[11],'LineWidth',3);rectangle('Position',[4,5,12,8],'Curvature',.4,'LineStyle','--');axisequalMATLAB實用教程-電子教案繪制多邊形任意多邊形及多邊形區(qū)域是用Patch對象表示的,該對象由patch函數(shù)創(chuàng)建。
使用patch函數(shù)生成面片,有兩種方法,一種是頂點/顏色法,通過指定每個小面的頂點坐標和顏色來創(chuàng)建;另一種是頂點/小面法,通過指定所有頂點的坐標和各小面的頂點和顏色來創(chuàng)建。
MATLAB實用教程-電子教案繪制文本文本用Text對象表示,該對象由text函數(shù)創(chuàng)建,text函數(shù)是創(chuàng)建文本圖形對象的低級函數(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([520835])
MATLAB實用教程-電子教案圖形的著色多邊形的單色填充多邊形的插值著色對同一個多邊形,左圖為單色填充效果,右圖為插值著色效果。MATLAB實用教程-電子教案圖形變換在MATLAB中實現(xiàn)圖形變換,需要用到hgtransform對象,使用該對象的Matrix屬性可以給hgtransform對象的所有子對象應用一個變換。典型的變換包括旋轉(zhuǎn)、平移和縮放。
用hgtransform函數(shù)創(chuàng)建hgtransform圖形對象。使用makehgtform函數(shù)創(chuàng)建4×4的變換矩陣。
MATLAB實用教程-電子教案定制圖形前面介紹了在MATLAB中創(chuàng)建基本圖形元素的方法。有了基本圖形元素,就可以靈活運用它們,形成更復雜的圖形。
MATLAB實用教程-電子教案第6章高等數(shù)學計算
函數(shù)和極限導數(shù)極限和導數(shù)的應用不定積分和定積分空間解析幾何與向量代數(shù)多元函數(shù)的極限和求導級數(shù)微分方程MATLAB實用教程-電子教案函數(shù)復合函數(shù)運算符號表達式的復合函數(shù)運算主要是通過函數(shù)compose來實現(xiàn)的。
反函數(shù)符號表達式的反函數(shù)運算主要是通過函數(shù)finverse來實現(xiàn)的。函數(shù)的圖形
MATLAB實用教程-電子教案極限符號極限由函數(shù)limit來實現(xiàn)。
例:求數(shù)列的極限。解:在命令窗口鍵入下面的命令行:
symsn;limit((n+(-1)^(n-1))/n,n,inf)得
ans=1MATLAB實用教程-電子教案導數(shù)求函數(shù)的導數(shù)求隱函數(shù)的導數(shù)求參數(shù)方程確定的函數(shù)的導數(shù)MATLAB實用教程-電子教案求函數(shù)的導數(shù)用diff函數(shù)進行函數(shù)求導。例:求函數(shù)的導數(shù)。解:在命令窗口鍵入下面的命令行:symsx;f=sym('(x-1)^3/(x+1)');B=diff(f)得B=3*(x-1)^2/(x+1)-(x-1)^3/(x+1)^2
MATLAB實用教程-電子教案求隱函數(shù)的導數(shù)對于隱函數(shù)F(x,y)=0,導數(shù)
MATLAB實用教程-電子教案求參數(shù)方程確定的函數(shù)的導數(shù)對于參數(shù)方程
導數(shù)
MATLAB實用教程-電子教案極限和導數(shù)的應用漸近線極值拐點MATLAB實用教程-電子教案不定積分和定積分不定積分求定積分定積分的近似計算定積分的應用多重積分MATLAB實用教程-電子教案不定積分MATLAB中,用符號工具箱中的int函數(shù)求函數(shù)的不定積分和定積分。用int函數(shù)的前兩種調(diào)用格式求不定積分。
例:求不定積分。解:在命令窗口鍵入symsxnint(x^n)或symsxnint(x^n,x)得ans=x^(n+1)/(n+1)MATLAB實用教程-電子教案求定積分用int函數(shù)的后兩種調(diào)用格式求定積分。
例:求定積分。解:在命令窗口鍵入symsxint(x^7,0,1)
得ans=1/8MATLAB實用教程-電子教案定積分的近似計算用MATLAB提供的trapz函數(shù)可以用梯形法近似求取定積分的值。
例:積分的精確值為2,下面用trapz函數(shù)在均勻間隔的網(wǎng)格上求該積分的數(shù)值近似。
X=0:pi/100:pi;Y=sin(X);Z=trapz(X,Y)Z=1.9998MATLAB實用教程-電子教案定積分的應用使用定積分,可以解決幾何和物理中的很多實際問題,比如求平面圖形的面積、求曲面圍成的體積、求曲線的弧長、求功等。
MATLAB實用教程-電子教案多重積分可以用int函數(shù)求函數(shù)的多重積分。
例:求二重積分。解:在命令窗口鍵入symsxy;int(int(x*y,y,2),y,1,2)得
ans=9/8
MATLAB實用教程-電子教案空間解析幾何與向量代數(shù)空間向量運算曲面及其方程MATLAB實用教程-電子教案空間向量運算已知向量a={2,1,-1},b={1,-1,2},計算a+b,a-b,2a,a·b,a×b。解:在命令窗口鍵入下面的命令行:a=[21-1];b=[1-12];c=a+bd=a-be=2*af=dot(a,b)g=cross(a,b)得
c=301d=
12-3e=42-2f=-1g=1-5-3上面分別用dot和cross函數(shù)計算向量的點積和叉積MATLAB實用教程-電子教案曲面及其方程利用MATLAB提供的繪圖函數(shù),可以繪制給定函數(shù)的曲面和二次曲面。相關內(nèi)容,請參見6.2.4和6.2.5小節(jié)的介紹。
MATLAB實用教程-電子教案多元函數(shù)的極限和求導求多元函數(shù)的極限求多元函數(shù)的導數(shù)求二元隱函數(shù)的導數(shù)MATLAB實用教程-電子教案求多元函數(shù)的極限例:求極限。解:在命令行鍵入symsxy;limit((sin(x+y)-sin(x))/y,y,0)ans=cos(x)MATLAB實用教程-電子教案求多元函數(shù)的導數(shù)用diff函數(shù)計算多元函數(shù)的偏導數(shù),需要指定相對于哪個變量求偏導數(shù)。
例:求函數(shù)f=sin(st)的偏導數(shù)。解:在命令窗口鍵入下面的命令行
symsstf=sin(s*t)diff(f,t)ans=cos(s*t)*s
MATLAB實用教程-電子教案求二元隱函數(shù)的導數(shù)對于隱函數(shù)F(x,y,z)=0,導數(shù)
MATLAB實用教程-電子教案級數(shù)級數(shù)求和泰勒級數(shù)展開傅立葉級數(shù)展開MATLAB實用教程-電子教案級數(shù)求和可以用symsum函數(shù)求級數(shù)的和。例:求級數(shù)和。解:在命令窗口鍵入
symsxks1=symsum(1/k^2,1,inf)s2=symsum(x^k,k,0,inf)s1=1/6*pi^2s2=-1/(x-1)
MATLAB實用教程-電子教案泰勒級數(shù)展開用taylor函數(shù)進行泰勒級數(shù)展開。
例:求函數(shù)的泰勒級數(shù)展開,取前7項。解:在命令窗口鍵入下面的代碼
symsxf=1/(5+4*cos(x))T=taylor(f,8)返回
T=1/9+2/81*x^2+5/1458*x^4+49/131220*x^6
MATLAB實用教程-電子教案傅立葉級數(shù)展開通過編寫程序,可以實現(xiàn)函數(shù)的傅立葉級數(shù)展開。MATLAB實用教程-電子教案微分方程微分方程可以通過函數(shù)dsolve求解。例:求微分方程的通解,y為應變量,t為默認的自變量。解:輸入下面的命令行
dsolve('Dy=1+y^2')返回
ans=tan(t+C1)即為所求的通解。下面指定初始條件y|x=0=1。
y=dsolve('Dy=1+y^2','y(0)=1')生成
y=
tan(t+1/4*pi)MATLAB實用教程-電子教案第7章線性代數(shù)
矩陣分析矩陣的分解線性方程組的求解矩陣的特征值和特征向量符號矩陣稀疏矩陣MATLAB實用教程-電子教案矩陣分析矩陣的行列式矩陣的四則運算矩陣的冪和平方根矩陣的指數(shù)和對數(shù)矩陣的翻轉(zhuǎn)矩陣的逆運算矩陣的跡矩陣的范數(shù)矩陣的條件數(shù)矩陣的重塑矩陣的邏輯運算矩陣的初等變換矩陣的秩MATLAB實用教程-電子教案矩陣的行列式可用函數(shù)det求矩陣的行列式大小。
例:a=[120;25-1;410-1];b=det(a)b=1MATLAB實用教程-電子教案矩陣的四則運算數(shù)組和矩陣的加減運算使用加號和減號,即“+”和“-”。
矩陣相乘使用“*”運算符。如果只是將兩個矩陣中相同位置的元素相乘,使用“.*”運算符。
矩陣除法有左除和右除的區(qū)別,分別使用“\”和“/”運算符。
與“\”和“/”運算符相對應,也有“.\”和“./”運算符,分別用于將兩個矩陣中的對應元素相除。
矩陣與常數(shù)的代數(shù)運算,可以直接使用上面的各種運算符。
MATLAB實用教程-電子教案矩陣的冪和平方根矩陣的冪運算使用運算符“^”,冪運算具有類似X^p的形式。如果p是整數(shù),則冪通過重復求平方來計算;如果該整數(shù)為負值,則首先計算X的逆;如果p取其他值,則計算需要用到特征值和特征矢量,即如果[V,D]=eig(X),則X^p=V*D.^p/V。用sqrtm函數(shù)求矩陣的平方根。
MATLAB實用教程-電子教案矩陣的指數(shù)和對數(shù)矩陣的指數(shù)運算用expm函數(shù)實現(xiàn)。矩陣的對數(shù)運算用logm函數(shù)實現(xiàn)。
MATLAB實用教程-電子教案矩陣的翻轉(zhuǎn)用fliplr函數(shù)左右翻轉(zhuǎn)矩陣;用flipud函數(shù)上下翻轉(zhuǎn)矩陣;用flipdim函數(shù)沿指定方向翻轉(zhuǎn)矩陣;用transpose函數(shù)沿主對角線翻轉(zhuǎn)矩陣。
MATLAB實用教程-電子教案矩陣的逆運算用函數(shù)inv實現(xiàn)矩陣的逆運算。
由函數(shù)pinv實現(xiàn)矩陣的偽逆運算。。
MATLAB實用教程-電子教案矩陣的跡矩陣的跡是指矩陣所有對角線元素的和。在MATLAB中,矩陣的跡可由函數(shù)trace計算得到。
MATLAB實用教程-電子教案矩陣的范數(shù)矩陣的范數(shù)運算可由函數(shù)norm來實現(xiàn),具有norm(A),norm(A,1),norm(A,2),norm(A,inf),norm(A,’fro’)等形式,分別代表矩陣的范數(shù)運算、1-范數(shù)運算、7-范數(shù)運算、無窮大范數(shù)運算和F-范數(shù)運算。
MATLAB實用教程-電子教案矩陣的條件數(shù)條件數(shù)的值代表矩陣“病態(tài)”程度的大小。在MATLAB中,矩陣的條件數(shù)可分別由函數(shù)cond(A),condest(A)或rcond(A)計算得到,它們分別計算矩陣的條件數(shù)值、1-范數(shù)矩陣條件數(shù)值和矩陣的逆條件數(shù)值。
MATLAB實用教程-電子教案矩陣的重塑用reshape函數(shù)進行矩陣重塑。下面將一個3×4的矩陣重塑為2×6的。例:
A=[14710;25811;36912]A=147102581136912B=reshape(A,2,6)B=1357911
24681012MATLAB實用教程-電子教案矩陣的邏輯運算使用邏輯運算符,可以直接對數(shù)組或矩陣進行邏輯運算,包括邏輯非、邏輯或、邏輯與和邏輯異或運算。MATLAB實用教程-電子教案矩陣的初等變換用rref函數(shù)進行矩陣的初等行變換。例:A=[1218;12310;23113;1229]A=121812310231131229B=rref(A)B=1003010200110000
MATLAB實用教程-電子教案矩陣的秩用函數(shù)rank求矩陣的秩。
例:a=[120;25-1;410-1];b=rank(a)b=3
MATLAB實用教程-電子教案矩陣的分解矩陣的LU分解矩陣的QR分解矩陣的QZ分解矩陣的喬累斯基分解矩陣的奇異值分解矩陣的特征值分解矩陣的Schur分解MATLAB實用教程-電子教案矩陣的LU分解矩陣的LU分解是線性方程組求解方法中高斯消去法的基礎,在MATLAB中由函數(shù)lu來實現(xiàn)。
MATLAB實用教程-電子教案矩陣的QR分解在MATLAB中,QR分解可由函數(shù)qr實現(xiàn)。常用的調(diào)用格式如下:
[B,C]=qr(A)返回的矩陣C為上三角矩陣,矩陣B為滿秩矩陣。
[Q,R,E]=qr(A)
返回的矩陣E是置換矩陣,矩陣R是上三角矩陣,矩陣Q是滿秩矩陣。上述矩陣滿足關系A*E=Q*R。
MATLAB實用教程-電子教案矩陣的QZ分解在MATLAB中,QZ分解可由函數(shù)qz來實現(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)
對于方陣A,B的QZ分解取決于參數(shù)flag。參數(shù)flag可取'complex'與'real'。
MATLAB實用教程-電子教案矩陣的喬累斯基分解設矩陣A為n階對稱正定矩陣,則A矩陣可分解為LL
,即A=LL
。其中,矩陣L是上三角矩陣。此時,這種分解就稱為喬累斯基分解。在MATLAB中,喬累斯基分解由函數(shù)chol實現(xiàn)。
MATLAB實用教程-電子教案矩陣的奇異值分解在MATLAB中,矩陣的奇異值分解由函數(shù)svd來實現(xiàn),其調(diào)用格式為
[b,c,d]=svd(A)MATLAB實用教程-電子教案矩陣的特征值分解在線性代數(shù)中,很多情況下需要求矩陣的特征值。MATLAB中求矩陣特征值的函數(shù)是eig和eigs。其中函數(shù)eigs主要應用于稀疏矩陣。
MATLAB實用教程-電子教案矩陣的Schur分解在MATLAB中,矩陣的Schur分解由Schur函數(shù)來實現(xiàn),其調(diào)用格式為
[b,c]=schur(A)其中c矩陣為Schur矩陣。
MATLAB實用教程-電子教案線性方程組的求解方形系統(tǒng)超定系統(tǒng)不定系統(tǒng)MATLAB實用教程-電子教案矩陣的特征值和特征向量在MATLAB中,矩陣的特征值運算用函數(shù)eig或eigs實現(xiàn)。其中,eigs函數(shù)主要針對矩陣為稀疏矩陣的情況。
MATLAB實用教程-電子教案符號矩陣符號矩陣的四則運算符號矩陣的轉(zhuǎn)置運算符號矩陣的行列式運算符號矩陣的求逆運算符號矩陣的求秩運算符號矩陣的常用函數(shù)運算符號矩陣常用線性方程(組)的求解MATLAB實用教程-電子教案稀疏矩陣MATLAB中,創(chuàng)建稀疏矩陣一般用函數(shù)sparse或spdiags來實現(xiàn)。
稀疏矩陣由于存儲空間變小,而且MATLAB專門開發(fā)了針對它的算法,因此對稀疏矩陣的運算速度也非???。
MATLAB實用教程-電子教案第8章概率論與數(shù)理統(tǒng)計的MATLAB實現(xiàn)
隨機變量及其分布多維隨機變量及其分布隨機變量的數(shù)字特征樣本描述參數(shù)估計假設檢驗方差分析一元線性回歸MATLAB實用教程-電子教案隨機變量及其分布離散型隨機變量及其分布律
連續(xù)型隨機變量及其概率密度
分布函數(shù)
逆累加分布函數(shù)
MATLAB實用教程-電子教案離散型隨機變量及其分布二項分布泊松分布離散均勻分布幾何分布超幾何分布MATLAB實用教程-電子教案連續(xù)型隨機變量及其概率密度連續(xù)型均勻分布指數(shù)分布正態(tài)分布MATLAB實用教程-電子教案分布函數(shù)對于離散型隨機變量X,設x為任意實數(shù),X的分布函數(shù)為對于連續(xù)型隨機變量X,假設其概率密度為f(x),則其分布函數(shù)為MATLAB實用教程-電子教案逆累加分布函數(shù)逆累加分布函數(shù)是累加分布函數(shù)的逆函數(shù)。利用逆累加分布函數(shù),可以求得滿足給定概率時隨機變量對應的置信區(qū)間的最小值和最大值。
MATLAB實用教程-電子教案多維隨機變量及其分布用mvnpdf和mvncdf函數(shù)可以計算二維正態(tài)分布隨機變量在指定位置處的概率和累積分布函數(shù)值。下面左圖和右圖分別為二維正態(tài)分布隨機變量的概率密度圖和累積分布圖。MATLAB實用教程-電子教案隨機變量的數(shù)字特征期望方差常見分布的數(shù)學期望和方差協(xié)方差和相關系數(shù)矩和協(xié)方差矩陣MATLAB實用教程-電子教案樣本描述集中趨勢包括算術(shù)平均值、幾何均值、調(diào)和均值、中值和截尾均值等。離中趨勢包括均值絕對差、極差、方差和標準差等。抽樣分布包括卡方分布、t分布和F分布等。MATLAB實用教程-電子教案參數(shù)估計點估計可以用矩法和最大似然法進行參數(shù)估計。區(qū)間估計可以用mle函數(shù),利用最大似然估計法進行參數(shù)的區(qū)間估計。常見分布的參數(shù)估計
MATLAB統(tǒng)計工具箱提供了多種函數(shù)的參數(shù)估計函數(shù),詳見課本。MATLAB實用教程-電子教案假設檢驗方差已知時的均值檢驗方差未知時單個正態(tài)總體均值的檢驗方差未知時兩個正態(tài)總體均值差的檢驗基于成對數(shù)據(jù)的檢驗分布擬合檢驗MATLAB實用教程-電子教案方差已知時的均值檢驗用ztest函數(shù)在給定方差的條件下檢驗單樣本數(shù)據(jù)是否服從給定均值的正態(tài)分布。
MATLAB實用教程-電子教案方差未知時單個正態(tài)總體均值的假設檢驗t檢驗是用小樣本檢驗總體參數(shù),特點是在均方差不知道的情況下,可以檢驗樣本平均數(shù)的顯著性。用ttest函數(shù)進行樣本均值的t檢驗。
MATLAB實用教程-電子教案方差未知時兩個正態(tài)總體均值差的檢驗ttest2函數(shù)對兩個樣本的均值差異進行t檢驗。
MATLAB實用教程-電子教案基于成對數(shù)據(jù)的檢驗實際工作中為了比較兩種方法或兩種產(chǎn)品的差異,常常需要進行對比試驗。這樣得到的數(shù)據(jù)具有成對的特點。分析這種數(shù)據(jù),還是需要t檢驗。前面用到的ttest函數(shù)可以進行檢驗。
MATLAB實用教程-電子教案分布擬合檢驗q-q圖峰度-偏度檢驗秩和檢驗MATLAB實用教程-電子教案q-q圖q-q圖用變量數(shù)據(jù)分布的分位數(shù)與所指定分布的分位數(shù)之間的關系曲線來檢驗數(shù)據(jù)的分布。如果兩個樣本來自同一分布,則圖中數(shù)據(jù)點呈現(xiàn)直線關系,否則為曲線關系。
MATLAB實用教程-電子教案峰度-偏度檢驗峰度-偏度檢驗又稱為Jarque-Bera檢驗,評價給定數(shù)據(jù)服從未知均值和方差的正態(tài)分布的假設是否成立。該檢驗基于數(shù)據(jù)樣本的偏度和峰度。對于正態(tài)分布數(shù)據(jù),樣本偏度接近于0,樣本峰度接近于3。
MATLAB實用教程-電子教案秩和檢驗秩和檢驗可檢驗兩個總體是否相等。用ranksum函數(shù)檢驗兩個樣本是否取自中值相同的總體。
MATLAB實用教程-電子教案方差分析單因子方差分析用anova1函數(shù)進行單因子方差分析。
雙因子方差分析用anova2函數(shù)進行雙因子方差分析。
MATLAB實用教程-電子教案一元線性回歸進行一元線性回歸MATLAB中可以使用polyfit函數(shù)實現(xiàn)一元線性回歸。對于給定的數(shù)據(jù),該函數(shù)返回一元線性回歸方程的系數(shù)。
可化為一元線性回歸的曲線回歸問題在實際應用過程中,人們遇到的更多是非線性問題,通過變換,有的非線性問題可以轉(zhuǎn)換為線性問題,從而可以用線性回歸的方法來處理。
MATLAB實用教程-電子教案第9章最優(yōu)化方法的MATLAB實現(xiàn)
一維搜索問題線性規(guī)劃無約束非線性最優(yōu)化問題有約束非線性最優(yōu)化問題MATLAB實用教程-電子教案一維搜索問題求解單變量最優(yōu)化問題的方法有很多種。如果函數(shù)的導數(shù)容易求得,一般來說首先考慮使用三次插值法,因為它具有較高的效率。對于只需要計算函數(shù)值的方法,二次插值法是一個很好的方法,它的收斂速度較快,在極小點所在區(qū)間較小時尤其如此。黃金分割法則是一種十分穩(wěn)定的方法,并且計算簡單。由于以上原因,MATLAB優(yōu)化工具箱中用得較多的方法是二次插值法、三次插值法、二次三次混合插值法和黃金分割法。
MATLAB實用教程-電子教案利用fminbnd函數(shù)找到固定區(qū)間內(nèi)單變量函數(shù)的最小值。
例:對邊長為3m的正方形鐵板,在4個角處剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?
解:假設剪去的正方形的邊長為x,則水槽的容積為現(xiàn)在要求在區(qū)間(0,1.5)上確定一個x,使最大化。因為優(yōu)化工具箱中要求目標函數(shù)最小化,所以需要對目標函數(shù)進行轉(zhuǎn)換,即要求最小化。首先編寫M文件fminbndtest.m:functionf=myfun(x)f=-(3-2*x).^2*x;然后調(diào)用fminbnd函數(shù):x=fminbnd(@fminbndtest,0,1.5)得到問題的解:x=0.5000即剪掉的正方形的邊長為0.5m時水槽的容積最大。MATLAB實用教程-電子教案線性規(guī)劃線性規(guī)劃問題的矩陣形式為線性規(guī)劃的標準形式要求使目標函數(shù)最小化,約束條件取等式,變量b非負。不符合這幾個條件的線性模型要首先轉(zhuǎn)化成標準形式。在MATLAB工具箱中,可用linprog函數(shù)求解線性規(guī)劃問題。
MATLAB實用教程-電子教案無約束非線性最優(yōu)化問題求解無約束最優(yōu)化問題的方法主要有兩類,即直接搜索法和梯度法。
直接搜索法適用于目標函數(shù)高度非線性,沒有導數(shù)或?qū)?shù)很難計算的情況。常用的直接搜索法為單純形法,此外還有Hooke-Jeeves搜索法、Pavell共軛方向法等。在函數(shù)的導數(shù)可求的情況下,梯度法是一種更優(yōu)的方法。常見的梯度法有最速下降法、Newton法、Marquart法、共軛梯度法和擬牛頓法等。MATLAB優(yōu)化工具箱中用于求解無約束非線性規(guī)劃問題的函數(shù)有fminunc和fminsearch。
MATLAB實用教程-電子教案有約束非線性最優(yōu)化問題有約束非線性最優(yōu)化問題的數(shù)學模型為其中,x,
b,
beq,
lb,和ub為矢量,A和Aeq為矩陣,c(x)和ceq(x)為函數(shù),返回標量。f(x),c(x),和
ceq(x)可以是非線性函數(shù)。利用fmincon函數(shù)求多變量有約束非線性函數(shù)的最小值。
MATLAB實用教程-電子教案第10章復變函數(shù)的MATLAB實現(xiàn)
構(gòu)造復數(shù)(矩陣)
復數(shù)運算復變函數(shù)的圖形MATLAB實用教程-電子教案構(gòu)造復數(shù)(矩陣)用complex函數(shù)構(gòu)造復數(shù)。語法格式為
c=complex(a,b)其中,a和b分別表示復數(shù)的實部和虛部,必須是標量或大小相同的向量、矩陣或多維數(shù)組。輸出結(jié)果c=a+bi,其大小與輸入?yún)?shù)的相同。
MATLAB實用教程-電子教案復數(shù)的實部和虛部用real函數(shù)返回復數(shù)的實部。
用imag函數(shù)返回復數(shù)的虛部。
MATLAB實用教程-電子教案共軛復數(shù)用conj函數(shù)計算復數(shù)的共軛值。該函數(shù)的語法格式為
ZC=conj(Z)其中Z為復數(shù)數(shù)組。
MATLAB實用教程-電子教案復數(shù)的模用abs函數(shù)求復數(shù)的模。該函數(shù)的調(diào)用格式為
abs(Z)返回復數(shù)的模,等價于sqrt(real(Z).^2+imag(Z).^2)。
MATLAB實用教程-電子教案復數(shù)的輻角用angle計算復數(shù)的輻角。該函數(shù)的語法格式為
P=angle(Z)MATLAB實用教程-電子教案復數(shù)的乘除法復數(shù)的乘除法運算由“*”和“/”實現(xiàn)。例:m=4+2i;n=2-5i;m*nans=18.0000-16.0000im/nans=-0.0690+0.8276iMATLAB實用教程-電子教案復數(shù)的指數(shù)運算用exp函數(shù)進行復數(shù)的指數(shù)運算。該函數(shù)的調(diào)用格式為
Y=exp(Z)其中Z為復數(shù)數(shù)組。
MATLAB實用教程-電子教案復數(shù)的對數(shù)運算用log函數(shù)進行復數(shù)的對數(shù)運算。該函數(shù)的調(diào)用格式為
Y=l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 花束插畫課程設計
- 軸的課程設計怎么做
- 二零二五年度板材行業(yè)節(jié)能減排合作協(xié)議3篇
- 二零二五年度房地產(chǎn)預告抵押債務重組合同3篇
- 電儀車間設備巡檢管理制度(4篇)
- 線上攝影課程設計
- 二零二五年度家具安裝與環(huán)保材料認證服務協(xié)議3篇
- 事故應急救援與演練制度模版(2篇)
- 2025年度E管材供應鏈金融合作合同2篇
- 二零二五年度抗震鋼筋工施工承包合同6篇
- 安全與急救學習通超星期末考試答案章節(jié)答案2024年
- 人力資源戰(zhàn)略規(guī)劃地圖
- 2024電力安全工器具及小型施工機具預防性試驗規(guī)程
- 基于單片機的2.4G無線通信系統(tǒng)
- DB35T 2198-2024 工業(yè)園區(qū)低零碳創(chuàng)建評估準則 福建省市監(jiān)局
- 《建筑力學》期末機考資料
- 2023直流支撐電容器技術(shù)規(guī)范
- 福建省廈門市廈門第一中學2025屆數(shù)學高二上期末綜合測試試題含解析
- 期末考試-2024-2025學年語文四年級上冊統(tǒng)編版
- “數(shù)字城市”公共智慧底座項目解決方案
- 經(jīng)銷商交接三方協(xié)議書范本
評論
0/150
提交評論