我有一個函數fun
,它返回一個double。我想調用的函數n
時間和存儲結果在一個數組:沒有for循環的n個函數結果的數組
results = zeros(1, n);
for i = 1:n
results(i) = fun;
end
我能做到這一點不循環?
n
在高達10,000,000的範圍內,fun
的運行時間幾乎可以忽略不計。
我試過arrayfun
,但它實際上是慢了很多(約87倍慢):
results = arrayfun(@(~) fun, 1:n);
可循環已經是最快的解決方案?如果這可以用一個班輪完成,我仍然會感興趣。
它總是會返回相同的值嗎?什麼是「樂趣」取決於? –
@ S.P否,它不會總是返回相同的結果。 'fun'是一種外部的Java方法。 – kay
沒有其他選擇,我知道。你需要循環它。 –