1
我想在Matlab中做一個簡單的速度測試。我希望它爲每個a從1到20分配3^a-2。可能是因爲我在這裏選擇了太少的數字以查看任何顯着差異,但是我仍然卡住了。在matlab中Arrayfun問題
我試着寫
n = [1:20]
m = 3.^n-1
arrayfun(factor,m)
這給出了一個「沒有足夠的輸入參數」的錯誤。我雖然有道理,但顯然不是。看了一些arrayfun和手冊的例子,我也試過
arrayfun(@(m)factor(m), m)
arrayfun(@(m), factor(m), m)
arrayfun(@factor, m)
但沒有工作。什麼是正確的方法來做到這一點?而且,如果我進行這種速度測試,結果將被緩存,所以如果我再次進行測試,我將不得不使用不同的數字?
感謝。它是否會一次性計算所有因素,或者直到我編寫l {2}? – user1661303
@ user1661303是的,它會一次計算所有因素,你可以通過最後省略分號檢查。這將顯示每個元素的單元格 – P0W
好的,謝謝。還有一個問題。在寫作l(2)和l {2}的背景下有什麼不同?我注意到輸出是不同的。 – user1661303