欢迎来到山村网

Matlab如何实现函数重载?

2019-03-09 11:14:40浏览:897 来源:山村网   
核心摘要:  Matlab如何实现函数重载?下面我就通过一个简单的输出输入数中的最大数的函数fun()来说明Matlab在编辑函数时如何实现重载。 

  Matlab如何实现函数重载?下面我就通过一个简单的输出输入数中的最大数的函数fun()来说明Matlab在编辑函数时如何实现重载。

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()函数返回输入矩阵的最大元素。

  5.再输入

  elseif nargin==3

  a=varargin{1};

  b=varargin{2};

  c=varargin{3};

  y=max([a,b,c]);

  end

  通过这段代码,函数可实现输入两个量时的功能。

  其中用a来存放输入量的第一个量,用b来存放输入量的第二个量,用c来存放输入量的第三个量。

  效果如下图

  6.保存之后,下面对所编辑的函数进行验证。

  Command Window 中分别输入

  answer1=fun(12,13,14)

  answer2=fun(16,25)

  answer3=fun(16)

  answer4=fun(12,13,14,15)

  结果如下图

  7.准确的讲,matlab函数的重载并不是严格意义上的函数重载,但是通过对变量的合理运用,能够实现重载的功能。

  希望这一条经验能够帮助到大家!

  注意事项

  编辑函数是输入变量一定得是varargin,否则Matlab会将输入变量视为一个。

  if语句一定要加end

(责任编辑:豆豆)
下一篇:

Bios密码忘记了的解决方法

上一篇:

bios设置第一启动项为硬盘启动的正确选择是什么

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com