我想將一個向量拼接成一個函數調用,但是我找不到一種方法來實現這個功能。可能嗎?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