我試圖加速一個運行約100000次迭代的循環,並想知道if語句的順序是否對性能有影響。例如,下面的代碼會在每次執行for循環時執行else語句之前檢查if和elseif嗎?MATLAB:If語句的順序是否影響性能
for ii = 1:100000
if ii == 1
statements_1;
elseif ii >= 2 && ii <= 10
statements_2;
else
statements_3;
end
end
下面的代碼運行速度會更快嗎?
for ii = 1:100000
if ii > 10
statements_3;
elseif ii >= 2 && ii <= 10
statements_2;
else
statements_1;
end
end
任何幫助將非常感激
在IF/elseifs,先放置的條件應該是一個鏈你期望成爲最有可能成功的人,第二個條件應該是第二個最有可能成功的條件,等等。 – Patashu
爲防萬一您沒有意識到這一點,請查看定時功能的'tick'和'tock'命令。它們對於優化非常有用! MATLAB也有一個很好的分析器,但這在這裏沒有多大幫助。 – chessofnerd
@chessofnerd'tic'和'toc',no'k'。 –