我正在尝试在 Matlab 中进行简单的速度测试。我希望它从 1 到 20 将每个 a 分解为 3^a-2。可能是我在这里选择的数字太小而看不到任何显着差异,但我还是被卡住了。
我试着写
n = [1:20]
m = 3.^n-1
arrayfun(factor,m)
这给出了“输入参数不足”的错误。我虽然有道理,但显然不是。在看了一些arrayfun的例子和手册之后,我也试过了
arrayfun(@(m)factor(m), m)
arrayfun(@(m), factor(m), m)
arrayfun(@factor, m)
但没有一个工作。正确的方法是什么?而且,如果我进行这种速度测试,结果是否会被缓存,所以如果我再次进行测试,我将不得不使用不同的数字?