2014-03-06 43 views
2

在我的MATLAB腳本,我有一個函數處理如何在matlab中將數組拆分爲參數值?

[email protected](x1,x2)6+2*x1^1+3*x2^2; 

這給了我一個匿名函數作爲F這需要兩個參數和返回值。我也有價值觀

x = [1 2]; 

通過以上的數組,我該怎麼辦

F(x) 

換句話說,像F(1, 2),但我想用x,我不想硬代碼值,並且它還需要適用於任何維度大小,我不想像上面的示例那樣爲二維進行硬編碼。基本上我正在尋找的是一種將數組轉換爲參數的方法。

這可以在matlab中完成嗎?

謝謝

+0

+1爲偉大,簡潔的措辭:「將數組轉換爲參數」 –

回答

2

要打開的陣列到其參數:第一次打開陣列分成單元陣列(具有num2cell),然後轉動單元陣列成comma-separated list(與{:}):

xcell = num2cell(x); 
F(xcell{:}) 
+0

我有另一個問題: https://stackoverflow.com/questions/22234949/getting-index-exceeds-matrix-dimensions-error-in-matlab – omega

+0

@omega這是一個聰明的答案。不要忘記upvote。 – chappjc

+0

@chappjc謝謝! :-) –