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

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

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

AE制作APP界面gif动画效果

今天小编为大家分享AE制作APP界面gif动画效果方法,教程比较实用,推荐到脚本之家,喜欢的朋友可以参考本文,希望能对大家有所帮助
收藏 0 赞 0 分享

Ae怎么制作玻璃划过图片的特效?

Ae怎么制作玻璃划过图片的特效?想要制作一个图片被玻璃划破的视频特效,使用ae制作很方便,今天我们就来看看玻璃划过图片特效的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

edius6中怎么制作音频回声效果?

edius6中怎么制作音频回声效果?想制作一段声音夜宵,就比如是回声特效,像是空旷的地方听到了回声一样,该怎么制作呢?下面我们来看看详细的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

EDIUS中怎么制作模糊转场特效?

EDIUS中怎么制作模糊转场特效?想制作一个渐渐模糊的视频效果,该怎么做?EDIUS中就有模糊转场的功能,下面我们就来看看EDIUS模糊转场特效的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

qq音乐透明皮肤怎么设置 qq音乐透明皮肤设置图文教程

很多朋友知道QQ可以设置透明皮肤,那有朋友就问了qq音乐皮肤可以设置为透明皮肤吗?答案是可以的。今天小编就为大家带来qq音乐透明皮肤设置图文教程,一起看看吧
收藏 0 赞 0 分享

编辑星怎么剪切视频 编辑星剪辑+保存视频图文教程

编辑星是一款非常简单易用的视频处理软件,同时在这里还可以对已有视频已经剪辑,那么,编辑星怎么剪切视频和保存剪切成功的视频文件呢?针对这一问题,本文小编就为大家进行解答
收藏 0 赞 0 分享

AE怎么使用Particular插件制作半调图案?

AE怎么使用Particular插件制作半调图案?想给视频添加一些特效,这时候需要Trapcode Particular插件,该怎么下载使用这个插件呢?下面我们来看看Particular插件制作半调图案的教程
收藏 0 赞 0 分享

edius怎么给视频中的音频降噪?

EDIUS怎么给视频中的音频降噪?拍摄的视频中噪音很大,想消除一些噪音,该怎么办呢?今天我们就来看看edius给视频中的音频降噪的详细教程,需要的朋友可以参考下
收藏 0 赞 0 分享

ae导出视频出错提示设置不匹配怎么办?

ae导出视频出错提示设置不匹配怎么办?ae制作好视频以后,在导出的时候遇到了问题,提示输出组建于编码转换设置不匹配,该怎么办呢?下面我们就来看看详细的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

AE怎么精确截取视频文件?

AE怎么精确截取视频文件?经常用ae给视频添加特效,但是想截取处理好的视频,该怎么截取呢?想要很精确的截取,很简单,今天我们就来看看AE精确截取视频文件的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多