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
回到控制台Command Window(主界面),注意要使用之前儲存的函數檔案名來調用函數,如下所示:
>> clear
>> a = eg_sum(10)
運作結果: a = 55
許多網友說函數名一定要與函數檔案名一緻,【如果不一緻matlab會警告】,但實際不影響使用,最好函數名與函數檔案名 一緻 ,參考網上有網友特意之處:“其實不是這樣子的,隻要知道調用函數時是通過函數檔案名調用的這點即可!比如下圖所示,即使檔案名仍然是eg_sum,但我可以修改函數名為:my_sum 調用時用檔案名調用就好,如下所示:”
>> b = eg_sum(10)
運作結果: b = 55
注意事項
- 在調用函數時,請確定已将matlab目前目錄切換到函數檔案所在處,不然會報錯:Undefined function 'eg_sum' for input arguments of type 'double'.