Matlab如何实现函数重载?Matlab实现函数重载的方法

所属分类: 软件教程 / 媒体工具 阅读数: 2011
收藏 0 赞 0 分享

大家应该都知道C++和Java编程能够实现函数的重载,而当我们使用Matlab的一些函数,如:plot函数,可以发现该函数可以有不同的输入,如:plot(data)、plot(t,data)和plot(X,Y,'LineWidth',2)等。这些就是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()函数返回输入矩阵的最大元素。

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

更多精彩内容其他人还在看

会声会影视频怎么添加翻页效果? 会声会影翻页效果的制作方法

会声会影视频怎么添加翻页效果?会声会影中可以给视频添加很多效果,该怎么添加翻页效果呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Vegas自动保存怎么设置? Vegas开启自动保存的方法

Vegas自动保存怎么设置?Vegas处理视频的时候,突然出现问题导致处理的文件没有保存,那就麻烦了,我们可以设置自动保存防止这些问题,下面我们就来看看Vegas开启自动保存的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

premiere视频怎么锐化? pr画面锐化效果的制作方法

premiere视频怎么锐化?premiere中导入的视频想要添加锐化效果,该怎么添加呢?下面我们就来看看pr画面锐化效果的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

edius怎么制作变色效果的视频? edius视频调色的技巧

edius怎么制作变色效果的视频?edius导入的视频,想要让视频随着时间的变化,不断的变换颜色,下面我们就来看看edius视频调色的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

转码器哪个好?2018年最好用的八款视频转码器推荐

视频转码器可以让我们将想看的视频转换成任意视频格式进行观看,有些朋友就会有疑问,用什么样的视频转码工具比较好呢?下文中为大家推荐介绍了八款视频转码工具,需要的朋友可以阅读下文,寻找合适的转码工具
收藏 0 赞 0 分享

edius怎么给文字添加阴影? edius阴影文字特效的制作方法

edius怎么给文字添加阴影?edius中输入的文字,想要添加阴影,该怎么添加呢?下面我们就来看看edius阴影文字特效的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

EDIUS Pro8.5完美汉化激活破解+安装教程(附破解补丁下载)

Grass Valley EDIUS Pro是一款非常出色的非线性编辑软件,EDIUS Pro 8可以实时处理更多格式和更多分辨率,从而实现快速编辑,下面提供EDIUS中文破解版以及中文汉化补丁,以及安装教程,大家参考下
收藏 0 赞 0 分享

会声会影导入的图片素材怎么编辑? 会声会影图片变形的教程

会声会影导入的图片素材怎么编辑?会声会影中导入的图片,想要对图片进行编辑,怎么让图片变形呢?下面我们就来看看会声会影图片变形的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

PremiereCC2018怎么制作生锈文字特效? Pr锈体字的设计方法

PremiereCC2018怎么制作生锈文字特效?Premiere中想要制作一个锈迹斑斑的文字,该怎么设计呢?下面我们就来看看Pr锈体字的设计方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Premiere音频怎么添加过渡特效?

Premiere音频怎么添加过渡特效?Premiere中想要给音频制作一个过渡的效果,该怎么添加交叉渐隐特效呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多