基礎知識 --Matlab函數使用總結
在matlab中,M文件分為腳本文件和函數文件。如果M文件的第一個可執行語句以function開頭,那這個M文件就是函數文件。函數文件內定義的變量為局部變量,只在函數文件內部起作用,當函數文件執行完后,這些內部變量將被清除。函數的主要目的是方便代碼的重復多次調用同一段代碼
1、基本格式
函數創建格式
function [y1,…,yN] = myfun(x1,…,xM)
說明:
“myfun”的名稱必須和文件名稱一致,否則會報錯。
此處輸入變量和輸出變量必須有限個且全部羅列。
在函數里,對輸入變量都要應用,對輸出變量都要賦值
function s = asum(a)s=sum(sum(a));
斐波那契數列的函數實現
function s = fibonacc(n)if n == 0s = 0;elseif n == 1s = [0 1];elses =zeros(1, n+1);s(1) = 0;s(2) = 1;for i = 2:ns(i+1) = s(i) + s(i-1);endend
2、規范化函數文件
推薦函數文件由函數聲明行、H1行、在線幫助文本區、編寫和修改記錄、函數主體等幾個部分組成。格式如下:
function 輸出形參表 = 函數名(輸入形參表)
函數聲明行由關鍵字function引導,指明這是一個函數文件,并定義函數名、輸入參數和輸出參數。
函數名應當與文件名一致(保存函數文件時會默認以函數名作為文件名予以保存),如果兩者不一致,MATLAB將以文件名為準,以后調用時使用文件名調用該函數。
在腳本文件中編寫函數時,需以end結尾;獨立的函數文件不需以end結尾。
MATLAB中的函數文件名必須以字母開頭,可以是字母、下劃線、數字的任意組合,但不可以超過31個字符。
H1行:緊隨函數聲明行之后的以“%”開頭的第一注釋行。H1行包括大寫的函數名和函數功能簡要描述,采用lookfor命令可在命令行窗口顯示H1行的信息。建議在編寫H1注釋行時,盡量采用英文表述,這是為了之后的使用過程中關鍵詞檢索的方便。
在線幫助文本區
包括H1行以及H1行之后的連續的以“%”開頭的注釋行。通常包括函數輸入變量和輸出變量的含義以及調用說明。采用help命令可在命令行窗口顯示在線幫助文本區的信息。
編寫和修改記錄
與在線幫助文本區以一個空行相隔。該行以“%”開頭,記錄了編寫及修改函數文件的作者、日期、版本等內容,以方便后來的使用查詢或修改。
函數主體
應與編寫和修改記錄以一個空行相隔。這部分內容包括了所有實現該函數文件功能的MATLAB指令。
function output = calculate(a, b, show)% calculate for calculate the sum of a and b% 輸入參數:% a: 求和變量1% b: 求和變量2% show: 是否在命令行輸出結果,show=1,輸出結果,其他情況不輸出% 輸出參數:% output:a和b之和% 調用說明:% calculate(a,b):求得參數a和b之和% calculate(a,b,show):求得參數a和b之和,并在命令行輸出結果output% 版本號V1.0,編寫于2020年10月25號,修改于2020年10月25號,作者:domiif nargin > 3error('輸入變量過多!');elseif nargin == 2show = 0;endoutput = a + b;if show == 1outputend
函數參數指令集
nargin:表示一個變量,指定調用函數所帶參數的個數
nargout:表示一個變量,指定調用函數所返回的參數的個數
3、Matlab函數文件中全局變量的使用
使用全局變量關鍵字global% 在函數頭部將被調用的變量定義為全局變量global X% 在其它文件需要使用變量X的時候,也在頭部表明X為全局變量global X
舉個栗子
function s = test(a)global x % x是全局變量,能夠使用函數外的數值s = a + x;
文章來源:算法工程師的學習日志
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















