我在尋找類似於matrix(m, n, f)
, but for MATLAB rather than MuPAD, and for arrays rather than matrices的東西。也就是說,我在尋找這樣做沒有的(氮高效)的方式for循環:如何通過對每個元素的索引應用一個函數來在MATLAB中創建一個數組?
ret = zeros(m, n);
for i = 1:m
for j = 1:n
ret(i, j) = some_function([i, j]);
end
end
如果您可以修改'some_function()',那麼您可以更改源代碼以使其適用於數組。或者試試http://www.mathworks.com/help/matlab/ref/arrayfun.html – user3528438
好點。對於這個問題,'some_function'已經被矢量化到數組上了嗎?你只需要一種通過'1:m'和'1:n'高效構建'[i,j]'輸入的方法嗎? (例如'[is,js] = ind2sub([m n],1:(m * n))')或者這是關於如何取一個只需要標量輸入的函數並擴展其行爲?這兩種情況的答案完全不同。 –