我有一个fun
返回双精度的函数。我想调用函数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);
循环可能已经是最快的解决方案了吗?如果这可以用一个班轮完成,我仍然会感兴趣。