function MATLAB

在matlab中,M文件分爲腳本文件和函數文件。如果M文件的第一個可執行語句以function開頭,那這個M文件就是函數文件。函數文件內定義的變量爲局部變量,只在函數文件內部起作用,當函數文件執行完後,這些內部變量將被清除。

本文介紹如何規範地編寫一個函數文件。

通常,函數文件由函數聲明行、H1行、在線幫助文本區、編寫和修改記錄、函數主體等幾個部分組成。格式如下:

function 輸出形參表 = 函數名(輸入形參表)

在線幫助文本區,其中第一行爲H1行

編寫和修改記錄

函數主體

 

 


函數聲明行

由關鍵字function引導,指明這是一個函數文件,並定義函數名、輸入參數和輸出參數。
函數名應當與文件名一致(保存函數文件時會默認以函數名作爲文件名予以保存),如果兩者不一致,MATLAB將以文件名爲準,以後調用時使用文件名調用該函數。
在腳本文件中編寫函數時,需以end結尾;獨立的函數文件不需以end結尾。
MATLAB中的函數文件名必須以字母開頭,可以是字母、下劃線、數字的任意組合,但不可以超過31個字符。

 



H1行

緊隨函數聲明行之後的以“%”開頭的第一註釋行。
H1行包括大寫的函數名和函數功能簡要描述,採用lookfor命令可在命令行窗口顯示H1行的信息。
建議在編寫H1註釋行時,儘量採用英文表述,這是爲了之後的使用過程中關鍵詞檢索的方便。

 

 



在線幫助文本區

包括H1行以及H1行之後的連續的以“%”開頭的註釋行。
通常包括函數輸入變量和輸出變量的含義以及調用說明。
採用help命令可在命令行窗口顯示在線幫助文本區的信息。

 



編寫和修改記錄

與在線幫助文本區以一個空行相隔。
該行以“%”開頭,記錄了編寫及修改函數文件的作者、日期、版本等內容,以方便後來的使用查詢或修改。

 



函數主體

應與編寫和修改記錄以一個空行相隔。
這部分內容包括了所有實現該函數文件功能的MATLAB指令。
例:完整的函數文件示範。


function spir_len = spirallength(d, n, lcolor)
% SPIRALLENGTH plot a circle of radius as r in the provided color and calculate its area 
% 輸入參數: 
%   d: 螺旋的旋距
%   n: 螺旋的圈數
%   lcolor:畫圖線的顏色
% 輸出參數:
%   spir_len:螺旋的周長
% 調用說明:
%   spirallength(d,n):以參數d,n畫螺旋線,螺旋線默認爲藍色
%   spirallength(d,n,lcolor):以參數d,n,lcolor畫螺旋線
%   spir_len = spirallength(d,n):計算螺旋線的周長,並以藍色填充螺旋線
%   spir_len = spirallength(d,n,lcolor):計算螺旋線的周長,並以lcolor顏色填充螺旋線
 
% 版本號V1.0,編寫於1999年9月9號,修改於1999年9月10號,作者:亞索
 
if nargin > 3
    error('輸入變量過多!');
elseif nargin == 2
    lcolor = 'b'; % 默認情況下爲藍色
end
 
j = sqrt(-1); 
phi = 0 : pi/1000 : n*2*pi; 
amp = 0 : d/2000 : n*d; 
spir = amp .* exp(j*phi); 
 
if nargout == 1
    spir_len = sum(abs(diff(spir))); 
    fill(real(spir), imag(spir), lcolor); 
elseif nargout == 0
    plot(spir, lcolor); 
else
    error('輸出變量過多!'); 
end
 
axis('square');

函數參數指令集

  • nargin:表示一個變量,指定調用函數所帶參數的個數
  • nargout:表示一個變量,指定調用函數所返回的參數的個數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章