函数文件
基本结构
function[输出形参]=函数名([输入形参])
[注释说明]
函数体
函数文件名
通常和函数名一致,如果不一致那么忽略函数名调用时使用函数文件名
注释部分
注释部分可以提供help及lookfor命令的查找功能
eg:
函数
functionanswer=miltuply_two(a,b)
%miltuply_two 两个数相除
%输入: a
% b
%
%作者: 张三
%日期: 2017.7.5
%版本号: V1.0
answer=a*b;
调用方式:miltuply_two(2,9.8)
另外用help或者lookfor可以查看函数的详细信息
函数可调标识变量
功能:完成传递参数可调功能,就像c++中的函数重载和多态一样
nargin、nargout为输入输出参数个数,varargin、varargout(直接用数组的形式添加输出)
eg1: 输入参数可调
functionanswer=miltuply_two(a,b,c,d)
if nargin==2
answer=a*b;
elseif nargin==3
answer=a*b*c;
elseif nargin==4
answer=a*b*c*d;
end
eg2: 输出参数可调
function[a,b]=multiply(c,d,e,f)
if nargout==2
a=c*d*e*f;
b=c*d+e*f;
else
a=c*d*e*f;
end
eg3: 输入参数个数
functionanswer=multiply1(a,b,varargin)
narginchk(2,4); %用于检验参数过多
if nargin==2
answer=a*b;
elseif nargin==3
answer=a*b*varargin{1}; %注意这里varargin是一个元胞数组
elseif nargin==4
answer=a*b*varargin{1}*varargin{2};
else
error('错误');
end
全局变量
使用global声明(每个文件中都需要申明),可以提供不同的m文件访问同一个变量
调试技巧
1.在程序文件中加上用于判断的错误语句error(‘错误内容’)
2.断点和单步调试 直接下断点进行单步调试(和vs编译器调试方式基本相同,另外逻辑错误也可能发现)