matlab函数重载功能的实现笔记
发布日期:2021-07-01 04:00:20 浏览次数:2 分类:技术文章

本文共 834 字,大约阅读时间需要 2 分钟。

说明

matlab不支持重载功能,但是我们可以通过某些方法去实现类似重载的功能。

笔记

  1. 以下述代码为例,函数当中的varargin变量是元胞数组类型,调用函数testFun时,输入的函数参数将自动转成元胞数组。

此处注意,要想实现重载功能,函数的输入参数必须是varargin,而调用函数时输入的参数,必须使用[]括起来.

  1. narginchk(m,n)用来限制输入参数的数量范围,即至少输入m个参数,最多输入n个参数,不符合条件则会自动报错.

如果不用narginchk(m,n),程序会自动执行完,出现其他谜一样的未知错误,建议还是使用比较好

  1. 对于输入变量数量的判断,matlab内部有一个自动存储函数中输入个数的nargin变量,使用它即可。
function [y] = testFun(varargin)    narginchk(2,3)    if nargin==2           a = varargin{
1,1}; b = varargin{
1,2}; c = zeros(1,5); elseif nargin==3 a = varargin{
1,1}; b = varargin{
1,2}; c = varargin{
1,3}; end y = a + b + c;end

实例

测试函数:

function y = testFun(varargin)    if nargin==2        y=2;    elseif nargin==3        y=3;    endend

调用:

在这里插入图片描述
在这里插入图片描述
由于[1 1 1]算一个参数,因此程序正常执行完,没有返回值
在这里插入图片描述

注意变量之间必须要用,隔开

要点

  • 函数参数varargin
  • 输入变量数量nargin
  • 调用时要用[]
  • 限制输入变量的数量narginchk(m,n)

转载地址:https://miracle.blog.csdn.net/article/details/104823357 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:在ROS中调用外部链接库文件(.so)配置方法
下一篇:matlab数据统计函数使用笔记

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年05月07日 07时30分03秒