基礎知識 --Matlab函數使用總結

在matlab中,M文件分為腳本文件和函數文件。如果M文件的第一個可執行語句以function開頭,那這個M文件就是函數文件。函數文件內定義的變量為局部變量,只在函數文件內部起作用,當函數文件執行完后,這些內部變量將被清除。函數的主要目的是方便代碼的重復多次調用同一段代碼


1、基本格式

函數創建格式
function [y1,…,yN] = myfun(x1,…,xM)

說明:

  1. “myfun”的名稱必須和文件名稱一致,否則會報錯。

  2. 此處輸入變量和輸出變量必須有限個且全部羅列。

  3. 在函數里,對輸入變量都要應用,對輸出變量都要賦值

function s = asum(a)s=sum(sum(a));


基礎知識 --Matlab函數使用總結的圖1

斐波那契數列的函數實現

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

基礎知識 --Matlab函數使用總結的圖2


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號,作者:domi
if nargin > 3error('輸入變量過多!');elseif nargin == 2show = 0;endoutput = a + b;if show == 1outputend


基礎知識 --Matlab函數使用總結的圖3

函數參數指令集

nargin:表示一個變量,指定調用函數所帶參數的個數

nargout:表示一個變量,指定調用函數所返回的參數的個數


3、Matlab函數文件中全局變量的使用


使用全局變量關鍵字global% 在函數頭部將被調用的變量定義為全局變量global X% 在其它文件需要使用變量X的時候,也在頭部表明X為全局變量global X

舉個栗子

function s = test(a)global x  % x是全局變量,能夠使用函數外的數值s = a + x;

基礎知識 --Matlab函數使用總結的圖4

文章來源:算法工程師的學習日志

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

5
2