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

所属分类: 软件教程 / 媒体工具 阅读数: 1941
收藏 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 分享

会声会影如何使用自定义动作 会声会影自定义动作使用介绍

话说会声会影是个神奇的视频编辑软件,不仅能制作得了视频,音频剪辑也不赖。它的功能非常强大,效果一应俱全。今天就来给介绍一个强大的功能—自定义动作的设置,一起来看看吧
收藏 0 赞 0 分享

ArcTime Pro字幕怎么修改样式? ArcTime更换字幕样式的技巧

ArcTime Pro字幕怎么修改样式?ArcTime Pro编辑视频的时候,发现字幕样式不是很喜欢,想要换一个,该怎么操作呢?下面我们就来看看ArcTime更换字幕样式的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

爱剪辑怎么制作虫洞特效? 爱剪辑特效的制作过程

爱剪辑怎么制作虫洞特效?爱剪辑中经常制作各种特效,该怎么利用自带的特效制作一些效果呢?下面我们就来看看爱剪辑特效的制作过程,需要的朋友可以参考下
收藏 0 赞 0 分享

会声会影如何使用双色调滤镜 会声会影使用双色调滤镜的方法

会声会影如何使用双色调滤镜?会声会影具有视频优化、三位模式、自动调色等功能,其中双色调滤镜功能就很好用,我们要怎么使用双色调滤镜这个功能呢,一起来看看吧
收藏 0 赞 0 分享

会声会影如何制作三分屏效果 会声会影制作三分屏效果方法

比例模式,会声会影这个功能可以对画面图像进行任意缩放,我们可以利用此功能,来制作目前比较火的三分视频。主要也是为了填补宽屏视频放入竖屏比例中上下的黑色区域。下面就交大家如何制作,一起来看看吧
收藏 0 赞 0 分享

会声会影如何使用局部马赛克 会声会影局部马赛克方法

马赛克在新闻类的视频中,运用极为广泛,有些人员不方便出境或者保护他人的隐私,就需要遮挡一下,类似带一个头套。今天就来用会声会影内置的滤镜库中的局部马赛克教大家实现对应的效果,一起来看看吧
收藏 0 赞 0 分享

会声会影如何制作背景模糊虚化的视频

当我们把一段手机拍摄的竖屏视频导入到会声会影软件里来编辑的时候,如果是横屏的模式,两边会有黑色的边框,非常的丑,那么电视台常用的做法就是把背景做出模糊虚化的效果,今天就来交大家如何制作,一起来看看吧
收藏 0 赞 0 分享

AU音频怎么降噪? au消除本身的滋滋声电流声的技巧

AU音频怎么降?Audition中想要给音频降噪,消除au自带的滋滋的电流声,该操作呢?下面我们就来看看au消除电流滋滋声音的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

蜜蜂剪辑怎么安装?蜜蜂剪辑安装图文教程以及常见问题解决方法

蜜蜂剪辑怎么安装?蜜蜂剪辑安装图文教程以及常见问题解决方法,需要的朋友一起看看吧
收藏 0 赞 0 分享
查看更多