我想将一个向量拼接成一个函数调用,但是我找不到一种方法来实现这个功能。可能吗?Matlab ---将函数调用的参数转换为参数
为了扩大我的意思,假设我们有长度为n
的矢量x
和需要n
参数的函数f
。我想通过拨打f(x)
或f(splice(x))
来致电f(x(1), x(2), ..., x(n))
。如果x
是单元阵列而不是矢量,则调用f(x{:})
将得到期望的结果;只有当x
是一个向量时才会有一些等价物,这似乎是合理的。
我希望有一些操作员或功能,我失踪。我可以打电话y = num2cell(x)
,然后f(y{:})
,但这不是我正在寻找的。
不是'x(:)'工作吗?或者如果它是一个列向量,使用'x(:)''。 – Thor 2012-07-12 23:06:05
“num2cell”路线正是您应该寻找的。 – Jonas 2012-07-12 23:51:16
@Jonas不错,因为这个解决方案很简单。但是我认为我必须指定一个临时变量(并且因此将变量的内容复制一段时间),这样做有点愚蠢。为什么这个特征存在于单元阵列中,而不是用于(可以说是更常见的)数值数组(即“matlab”中的“mat”)?无论如何,这就是为什么我问:这似乎是一个功能,可能支持,但我有点失踪。 – zroth 2012-07-13 00:38:36