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
3.
回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:
>> clear
>> a = eg_sum(10)
运行结果: a = 55
4.
许多网友说函数名一定要与函数文件名一致,其实不是这样子的,只要知道调用函数时是通过函数文件名调用的这点即可!比如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum 调用时用文件名调用就好,如下所示:
>> b = eg_sum(10)
运行结果: b = 55
5.
注意事项:在调用函数时,请确保已将matlab当前目录切换到函数文件所在处,不然会报错:Undefined function 'eg_sum' for input arguments of type 'double'.
转自百度经验:huzhijian421