MATLAB是本人经常使用的程序,编程过程中经常会有部分代码重复出现,为了简化代码许多时候希望将实现特定功能的特定的代码(算法)书写成函数的形式,提高代码的可封装性与重复性,简化代码设计,提高执行效率!下面就总结一下如何在MATLAB中定义函数。同时matlab支持多输入多输出,函数的返回值可以为一个向量,矩阵,或者多个元素。为了让函数可以调用,需要对函数进行命名。 


matlab支持多输入多输出,函数的返回值可以为一个向量,矩阵,或者多个元素。为了让函数可以调用,需要对函数进行命名。 
function [输出变量] = 函数名称(输入变量) 
即包含: 
输入参数 
输出参数 
函数名 
注释 
函数体 

1.

首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:

function [输出变量] = 函数名称(输入变量)

% 注释

% 函数体

2。

如下所示,是编写的一个求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

1.jpg

3.

回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:

>> clear

>> a = eg_sum(10)

运行结果: a = 55

2.jpg

4.

许多网友说函数名一定要与函数文件名一致,其实不是这样子的,只要知道调用函数时是通过函数文件名调用的这点即可!比如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum 调用时用文件名调用就好,如下所示:

>> b = eg_sum(10)

运行结果: b = 55

3.jpg

5.

注意事项:在调用函数时,请确保已将matlab当前目录切换到函数文件所在处,不然会报错:Undefined function 'eg_sum' for input arguments of type 'double'.


转自百度经验:huzhijian421