matlab的命令編輯窗口(Command Window)界面主要是用來調用系統(tǒng)命令、調用自定義函數(shù)(m文件里定義的函數(shù))或編寫一些較小的代碼。在遇到需要用到比較多的代碼才能擺平的需求時,在命令編輯窗口每一行都有提示輸入符號,用起來不是很方便(如前所述而且命令編輯窗口主要是用來調用命令之用),此時我們不得不求助于matlab的m文件來編寫代碼。所以,記錄一下經自行探索其編寫方式后的入門過程:
版本:MATLAB 7.9.0(R2009b)
1.新建m文件 打開matlab軟件-->file-->new-->Function m-file 經過此步驟之后,matlab會彈出一個新的編輯窗口,并生成少許代碼如下:
function:表示編寫的是一個函數(shù)。 output_args: 表示編寫此函數(shù)的返回值(不同于C語言的是需要被返回的值無需使用return語句,只要將outp_args相應的參數(shù)拿到代碼中賦值即可,同一般變量的使用),各返回值間用逗號隔開。 input_args: 此函數(shù)的輸入參數(shù),各參數(shù)之間用逗號隔開。 Untitled: 這是您所編寫函數(shù)時所定義的函數(shù)名。注意:函數(shù)名和m文件名需要保持一致。如剛所創(chuàng)建的m文件在工作空間時命名為“RungeKuttaCalculate.m”則相應的函數(shù)名也需要為“RungeKuttaCalculate”,否則會引起報錯。 %: 是matlab的注釋語句的注釋符,相當于C語言中的行注釋符"//",在這里你可以描述此函數(shù)的功能,參數(shù)含義和返回值含義,使其含義更加明確。 剩余空間:從%到最后面的end部分是編輯代碼的空間。end表示此函數(shù)編輯完畢。
總結函數(shù)文件的基本結構: function [ 輸出形參表:output1, output1...outptn ]=函數(shù)名 [輸出函數(shù)形參表:input1, input2..., inputn] 注釋說明部分 函數(shù)體代碼部分 end
說明:
2.編寫代碼 (1)matlab數(shù)據類型 Matlab中有15種基本數(shù)據類型,主要是整型、浮點、邏輯、字符、日期和時間、結構數(shù)組、單元格數(shù)組以及函數(shù)句柄等。(http://hi.baidu.com/yicomrdztxbeiwd/item/37b3f246de294596823ae16c)一般在簡單應用中用到的整形(用作循環(huán)變量)、矩陣、數(shù)組較多。 (2)matlab的流程控制語句 matlab的流程控制語句跟C語言中的語句差不多,只是使用的形式有點不同。在C語言中if, for, while等是使用"}"或者“;”(其中只包含一條語句時)來結束。在matlab中他們使用的形式如下: if語句 if 條件1 matlab語句1; 【 elseif 條件2 matlab語句2; ....... else matlab語句n;】 end end來標識if語句內的matlab語句完結,如果其中有一個邏輯條件為真則執(zhí)行相應的matlab語句,否則跳過整個if語句內容執(zhí)行后繼語句。 【】內容為可選內容,根據需求而定。但是if....elseif必須匹配。
switch語句 switch 表達式 case 表達式1 matlab語句1 case 表達式2 matlab語句2 .... case 表達式n matlab語句n otherwise matlab語句n+1 end 跟if語句相似,用switch下面的表達式來匹配case表達式中的內容,匹配到哪一個case表達式,相應的matlab語句就會被執(zhí)行。
try語句 try matlab語句1 catch matlab語句2 end try語句先試探性執(zhí)行語句組1,如果語句組1在執(zhí)行過程中出現(xiàn)錯誤,則將錯誤信息賦給保留的lasterr變量,并轉去執(zhí)行語句組2。這種試探性執(zhí)行語句是其他高級語言所沒有的。 for語句 for 循環(huán)變量=初始值:步長:終值 循環(huán)體語句 end 如果初始值在付給循環(huán)變量后,循環(huán)變量的值介于初始值與終值之間則執(zhí)行循環(huán)體語句,每次執(zhí)行后循環(huán)變量增加步長值,再與終值比較是否小于終值,若還小于終值,則執(zhí)行循環(huán)體語句,若非,則跳出for循環(huán)執(zhí)行后繼語句。如此循環(huán)直到跳出for循環(huán)為止。
while語句 while(條件) 循環(huán)體語句 end 其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循.
循環(huán)嵌套,個循環(huán)之間可以嵌套使用。
在m文件的函數(shù)編寫中,撇開讀取文件操作不談使用基本的流程控制和matlab基本數(shù)據類型,再加上調用matlab強大的庫函數(shù)已經可以做很多事情了,起碼做作業(yè)沒問題了撒,用龍格-庫塔解線性方程組時用上面之所列舉足矣(加點數(shù)組定義法)。
|
|