1
我試圖找到一種方式來傳遞一個1XN陣列成一個函數處理,其中n是在函數變量的數量,以便讓我們假設我宣佈一個處理程序,例如:將1xn數組傳遞給函數句柄而不是Matlab的單個值?
U = @(x, y) x^2 + 2*y^2
,並插上電源:
U(1, 2)
ans =
9
有沒有什麼方法可以做類似於這個的呢?
a = [1, 2]
U(a)
ans =
9
我試圖找到一種方式來傳遞一個1XN陣列成一個函數處理,其中n是在函數變量的數量,以便讓我們假設我宣佈一個處理程序,例如:將1xn數組傳遞給函數句柄而不是Matlab的單個值?
U = @(x, y) x^2 + 2*y^2
,並插上電源:
U(1, 2)
ans =
9
有沒有什麼方法可以做類似於這個的呢?
a = [1, 2]
U(a)
ans =
9
是的,你可以;
U = @(x, y) x^2 + 2*y^2;
a = {1, 2};
U(a{:})
當你擴展小區{:}
它作爲擴展存儲在單元的分隔值的內容。這與myMatrix(...)
或myCell(...)
不同,它們都產生原始集合的一個子集(無論是單元還是矩陣)。
這種用法最常見的例子是'varargin',它的類型是'cell'。 – such 2014-11-25 10:04:56
不錯!不知道這個! +1 – 2014-11-25 10:11:25
太棒了!真的很感激,謝謝 – 2014-11-25 10:33:49