日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

matlab 編寫M文件(函數(shù))

 LSS133LSS 2014-04-30

        matlab的命令編輯窗口(Command Window)界面主要是用來調(diào)用系統(tǒng)命令、調(diào)用自定義函數(shù)(m文件里定義的函數(shù))或編寫一些較小的代碼。在遇到需要用到比較多的代碼才能擺平的需求時(shí),在命令編輯窗口每一行都有提示輸入符號(hào),用起來不是很方便(如前所述而且命令編輯窗口主要是用來調(diào)用命令之用),此時(shí)我們不得不求助于matlab的m文件來編寫代碼。所以,記錄一下經(jīng)自行探索其編寫方式后的入門過程:


版本:MATLAB    7.9.0(R2009b)

 

1.新建m文件

打開matlab軟件-->file-->new-->Function m-file

經(jīng)過此步驟之后,matlab會(huì)彈出一個(gè)新的編輯窗口,并生成少許代碼如下:

  1. function [ output_args ] = Untitled( input_args )  
  2. %UNTITLED Summary of this function goes here  
  3. %   Detailed explanation goes here  
  4.   
  5.   
  6.   
  7.   
  8. end  
這些代碼是一個(gè)m-函數(shù)的模板。

function:表示編寫的是一個(gè)函數(shù)。

output_args: 表示編寫此函數(shù)的返回值(不同于C語(yǔ)言的是需要被返回的值無需使用return語(yǔ)句,只要將outp_args相應(yīng)的參數(shù)拿到代碼中賦值即可,同一般變量的使用),各返回值間用逗號(hào)隔開。

input_args: 此函數(shù)的輸入?yún)?shù),各參數(shù)之間用逗號(hào)隔開。

Untitled:   這是您所編寫函數(shù)時(shí)所定義的函數(shù)名。注意:函數(shù)名和m文件名需要保持一致。如剛所創(chuàng)建的m文件在工作空間時(shí)命名為“RungeKuttaCalculate.m”則相應(yīng)的函數(shù)名也需要為“RungeKuttaCalculate”,否則會(huì)引起報(bào)錯(cuò)。

%: 是matlab的注釋語(yǔ)句的注釋符,相當(dāng)于C語(yǔ)言中的行注釋符"//",在這里你可以描述此函數(shù)的功能,參數(shù)含義和返回值含義,使其含義更加明確。

剩余空間:從%到最后面的end部分是編輯代碼的空間。end表示此函數(shù)編輯完畢。


總結(jié)函數(shù)文件的基本結(jié)構(gòu):

function  [ 輸出形參表:output1, output1...outptn ]=函數(shù)名 [輸出函數(shù)形參表:input1, input2..., inputn]

    注釋說明部分

    函數(shù)體代碼部分

end


說明:

  • 在調(diào)用函數(shù)時(shí)要使用編寫此函數(shù)的文件名,一般函數(shù)名和文件名保持一致。
  • 函數(shù)中遇return語(yǔ)句時(shí),此函數(shù)調(diào)用結(jié)束。
  • 函數(shù)調(diào)用的一般格式是: [輸出實(shí)參表]=函數(shù)名(輸入實(shí)參表)
  • 在調(diào)用函數(shù)時(shí),MATLAB用兩個(gè)永久變量nargin和nargout分別記錄調(diào)用該函數(shù)時(shí)的輸入實(shí)參和輸出實(shí)參的個(gè)數(shù)。只要在函數(shù)文件中包含這兩個(gè)變量,就可以準(zhǔn)確地知道該函數(shù)文件被調(diào)用時(shí)的輸入輸出參數(shù)個(gè)數(shù),從而決定函數(shù)如何進(jìn)行處理。

 

2.編寫代碼

(1)matlab數(shù)據(jù)類型

  Matlab中有15種基本數(shù)據(jù)類型,主要是整型、浮點(diǎn)、邏輯、字符、日期和時(shí)間、結(jié)構(gòu)數(shù)組、單元格數(shù)組以及函數(shù)句柄等。(http://hi.baidu.com/yicomrdztxbeiwd/item/37b3f246de294596823ae16c一般在簡(jiǎn)單應(yīng)用中用到的整形(用作循環(huán)變量)、矩陣、數(shù)組較多。

(2)matlab的流程控制語(yǔ)句

  matlab的流程控制語(yǔ)句跟C語(yǔ)言中的語(yǔ)句差不多,只是使用的形式有點(diǎn)不同。在C語(yǔ)言中if, for, while等是使用"}"或者“;”(其中只包含一條語(yǔ)句時(shí))來結(jié)束。在matlab中他們使用的形式如下:

 if語(yǔ)句

 if 條件1

    matlab語(yǔ)句1;

 【 elseif 條件2

     matlab語(yǔ)句2;

       .......

   else

      matlab語(yǔ)句n;】

  end

end來標(biāo)識(shí)if語(yǔ)句內(nèi)的matlab語(yǔ)句完結(jié),如果其中有一個(gè)邏輯條件為真則執(zhí)行相應(yīng)的matlab語(yǔ)句,否則跳過整個(gè)if語(yǔ)句內(nèi)容執(zhí)行后繼語(yǔ)句。

【】?jī)?nèi)容為可選內(nèi)容,根據(jù)需求而定。但是if....elseif必須匹配。


switch語(yǔ)句

switch 表達(dá)式

   case  表達(dá)式1

       matlab語(yǔ)句1

  case  表達(dá)式2

     matlab語(yǔ)句2

   ....

  case 表達(dá)式n

    matlab語(yǔ)句n

 otherwise

   matlab語(yǔ)句n+1

end

跟if語(yǔ)句相似,用switch下面的表達(dá)式來匹配case表達(dá)式中的內(nèi)容,匹配到哪一個(gè)case表達(dá)式,相應(yīng)的matlab語(yǔ)句就會(huì)被執(zhí)行。


try語(yǔ)句

try

    matlab語(yǔ)句1

catch

    matlab語(yǔ)句2

end

    try語(yǔ)句先試探性執(zhí)行語(yǔ)句組1,如果語(yǔ)句組1在執(zhí)行過程中出現(xiàn)錯(cuò)誤,則將錯(cuò)誤信息賦給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語(yǔ)句組2。這種試探性執(zhí)行語(yǔ)句是其他高級(jí)語(yǔ)言所沒有的。


for語(yǔ)句

for 循環(huán)變量=初始值:步長(zhǎng):終值

      循環(huán)體語(yǔ)句

end

如果初始值在付給循環(huán)變量后,循環(huán)變量的值介于初始值與終值之間則執(zhí)行循環(huán)體語(yǔ)句,每次執(zhí)行后循環(huán)變量增加步長(zhǎng)值,再與終值比較是否小于終值,若還小于終值,則執(zhí)行循環(huán)體語(yǔ)句,若非,則跳出for循環(huán)執(zhí)行后繼語(yǔ)句。如此循環(huán)直到跳出for循環(huán)為止。


while語(yǔ)句

while(條件)

   循環(huán)體語(yǔ)句

end

其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循.


循環(huán)嵌套,個(gè)循環(huán)之間可以嵌套使用。


在m文件的函數(shù)編寫中,撇開讀取文件操作不談使用基本的流程控制和matlab基本數(shù)據(jù)類型,再加上調(diào)用matlab強(qiáng)大的庫(kù)函數(shù)已經(jīng)可以做很多事情了,起碼做作業(yè)沒問題了撒,用龍格-庫(kù)塔解線性方程組時(shí)用上面之所列舉足矣(加點(diǎn)數(shù)組定義法)。



此次筆記記錄完畢。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多