1新建文件
首先建立M文件或直接點擊(File/New/Function)建立函數文件,其中函數文件的格式是:
function [輸出變量] = 函數名稱(輸入變量)
% 注釋
% 函數體
2函數語法
2.1基本語法
function y=f(x) %函數的聲明
y=x^2
就是建立了一個y=x2y=x2的函數,f是函數的名稱,m文件的名稱必須是f.m.
如果返回值不止一個,則可以:
function [x,y,z] = f(a,b)
x=a+b
y=a-b
z=a*b
一個M文件一般只包括一個主函數,但是可以編寫多個嵌套函數或子函數.
2.2匿名函數
fhandle = @(arglist) expr
(1) expr 是一個簡單的matlab 變量表達式,實現函數的功能,例如sin(x)等
(2)arglist 是參數列表,它制定函數的輸入參數列表,對于多個輸入參數的情況通常要用逗號分隔各個參數。
(3)符號@是Matlab中穿件函數句柄的操作符,表示對由輸入參數列表arglist和表達式expr所確定的函數創建句柄,并把這個句柄返回給變量fhandle, 這樣可以通過fhandle來調用這個定義好的函數.
例如:
>> myfunhd = @(x) (x+x.^2)
myfunhd =
@(x)(x+x.^2)
>> myfunhd(1)
ans =
2
匿名函數可以留空,可以嵌套。
匿名函數保存在.mat文件中,
save myfunction.mat myfunhd
將myfunhd函數保存在myfunction.mat文件中
使用load myfunction.mat myfunhd
就可以使用。
3示例
如下所示,是編寫的一個求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