fun
doubleを返す関数があります。n
関数timesを呼び出して、結果を配列に格納したいと思います。
results = zeros(1, n);
for i = 1:n
results(i) = fun;
end
ループなしでこれを達成できますか?
n
は最大10,000,000の範囲であり、の実行時間fun
はほとんど無視できます。
私は試しarrayfun
ましたが、実際にはかなり遅いです(約87倍遅い):
results = arrayfun(@(~) fun, 1:n);
ループはすでに最速の解決策である可能性がありますか?これがワンライナーでできるかどうか、私はまだ興味があります。