MATLAB中的varargin用法

varargin及cell数组使用说明

varargin是“Variable length input argument list”的缩写,它提供了一种函数可变参数列表机制,允许调用者调用该函数时根据需要来改变输入参数的个数。 varargin 就是一个输入变量,它可以是任意个不定个数的输入参数。要求:第一,指明它用小写的字母表示;第二,在函数的参数列表中,varargin放在最后面。 当函数执行时,varargin就是一个1 * n 的cell数组

*注:cell数组一般被叫做元胞数组,它的每个单元可以储存不同的数据类型,可以是数值,字符或矩阵或元胞数组等。通过()访问cell数组时访问到的是cell单元,通过{}访问cell数组时访问到的是cell单元储存的内容,
在这里插入图片描述
在这里插入图片描述

varargin用法

defineAndVariableNumInputs('a',1,zeros(2,2),'mmm',555)

function defineAndVariableNumInputs(x,y,varargin)
   disp("Total numbel of input arguments: " + nargin)
   
   formatSpec = "Size of varargin cell array: %d*%d";
   str = compose(formatSpec,size(varargin));
   %compose为复合函数
   disp(str)
   disp("The fist varargin argument obtained from the () index")
   disp(varargin(size(varargin,1)))
   disp("The fist varargin argument obtained from the {} index")
   disp(varargin{size(varargin,1)})
   
   disp("The last varargin argument obtained from the () index")
   disp(varargin(size(varargin,2)))
   disp("The last varargin argument obtained from the {} index")
   disp(varargin{size(varargin,2)})
end

输出:
在这里插入图片描述

  • 18
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MATLABvarargin函数是一种特殊的函数输入参数。它可以让你写一个接受不定数量输入参数的函数。具体用法如下: 1. 在函数定义声明varargin变量 在函数定义的输入参数列表,使用varargin关键字声明一个变量作为不定数量的输入参数。例如: ``` function myFunction(arg1, arg2, varargin) ``` 这里的varargin表示接受任意数量的输入参数。 2. 使用varargin输入参数 在函数体内,你可以使用varargin变量来访问输入参数。varargin是一个cell数组,包含所有传递给函数的不定数量的输入参数,每个输入参数都是cell数组的一个元素。 例如,下面的函数将计算传递给它的所有数字的平均值: ``` function avg = calculateAverage(varargin) sum = 0; count = length(varargin); for i = 1:count sum = sum + varargin{i}; end avg = sum / count; end ``` 调用该函数的方式如下: ``` avg = calculateAverage(1, 2, 3, 4, 5); ``` 这里的输入参数1、2、3、4、5会被打包成一个cell数组,然后传递给calculateAverage函数。函数体内,varargin变量会接收到这个cell数组,并逐个遍历其的元素,计算它们的平均值。 注意,如果函数的第一个输入参数是不定数量的输入参数(即使用varargin关键字声明的参数),则在调用该函数时可以省略该参数,例如: ``` avg = calculateAverage(1, 2, 3, 4, 5); ``` 这里没有传递第一个参数,但是calculateAverage函数仍然可以正确处理输入参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值