Matlab如何实现函数重载?下面我就通过一个简单的输出输入数中的最大数的函数fun()来说明Matlab在编辑函数时如何实现重载。
方法/步骤:
1.首先打开Matlab(本人使用的是Matlab 2015a,使用其他版本的Matlab影响不大)。在Common Window里输入edit fun(fun可改为任意字符,只为演示用),打开M文件编辑器,此时已创建M文件,文件名为fun。
2.在编辑器内输入 function y=fun(varargin),varargin是Matlab内部变量,类型为元胞数组,如果改为其他变量则会报错。
3.添加代码 narginchk(2,3); 保证输入量的个数,当个数小于2或大于3时程序会报错。
4.Matlab内部有一个nargin变量用于存储函数中输入量的个数。下面用If语句来实现函数的重载。
输入
if nargin==2
a=varargin{1};
b=varargin{2};
y=max([a,b]);
...
通过这段代码,函数可实现输入两个量时的功能。
其中用a来存放输入量的第一个量,用b来存放输入量的第二个量。max()函数返回输入矩阵的最大元素。