博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab函数重载功能的实现笔记
阅读量:2011 次
发布时间:2019-04-28

本文共 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)

转载地址:http://mowxf.baihongyu.com/

你可能感兴趣的文章
poj1029 模拟/枚举
查看>>
poj1032 数论
查看>>
poj1033 模拟(dfs)
查看>>
poj1035 模拟
查看>>
poj1852 想象力!
查看>>
poj1036 dp
查看>>
poj 备忘录
查看>>
poj3617 贪心
查看>>
三峰记
查看>>
poj3069 贪心
查看>>
对MapReduce初步认识
查看>>
微评:【民政部:去年1224.7万对夫妻结婚384.1万对夫妻离婚】
查看>>
使用ISO文件制作系统启动盘
查看>>
linux 分区、目录、挂载点
查看>>
ThinkPad 备忘录
查看>>
chrome 中文乱码
查看>>
VMware克隆虚拟机 eth0: unknown interface: No such device
查看>>
jps - Java Virtual Machine Process Status Tool
查看>>
log4j:WARN No appenders could be found for logger
查看>>
这辈子
查看>>