天天看點

【matlab】自定義、封裝函數步驟

matlab中如何定義函數

  • 許多時候希望将特定的代碼(算法)書寫成函數的形式,提高代碼的可封裝性與重複性,簡化代碼設計,提高執行效率!
  • 下面簡單介紹一下matlab中的函數定義與使用。

軟體/版本

  • matlab 7.0及以上

方法/步驟

1

首先建立M檔案或直接點選(File/New/Function)建立函數檔案,其中函數檔案的格式是:

function [輸出變量] = 函數名稱(輸入變量)

% 注釋

% 函數體

如下所示,是編寫的一個求1到n之和的求和函數 eg_sum,按照上述格式,編寫代碼如下并儲存檔案,注意檔案命名時不能以數字開頭:

function [s]  = eg_sum( n )

% calculate the sum of 1..n

s = 0;

for i = 1:n

    s = s + i;

end

【matlab】自定義、封裝函數步驟

回到控制台Command Window(主界面),注意要使用之前儲存的函數檔案名來調用函數,如下所示:

>> clear

>> a = eg_sum(10)

運作結果: a = 55

【matlab】自定義、封裝函數步驟

許多網友說函數名一定要與函數檔案名一緻,【如果不一緻matlab會警告】,但實際不影響使用,最好函數名與函數檔案名 一緻 ,參考網上有網友特意之處:“其實不是這樣子的,隻要知道調用函數時是通過函數檔案名調用的這點即可!比如下圖所示,即使檔案名仍然是eg_sum,但我可以修改函數名為:my_sum 調用時用檔案名調用就好,如下所示:”

>> b = eg_sum(10)

運作結果: b = 55

【matlab】自定義、封裝函數步驟

注意事項

  • 在調用函數時,請確定已将matlab目前目錄切換到函數檔案所在處,不然會報錯:Undefined function 'eg_sum' for input arguments of type 'double'.

繼續閱讀