How to speed up max function? The following line [a,b] = max(c(1:24,1,2,3)) takes 2685.49s for calling 541390285 times. Is there any way to speed up?
c=randi(100,[24,3,3,3]);
for i=1:1000000
[a,b] = max(c(1:24,1,2,3));
end

 채택된 답변

dpb
dpb 2018년 4월 12일

0 개 추천

A significant fraction is undoubtedly the addressing of the 4D array; the same fragment but
d=c(1:24,1,2,3);
for i=1:1000000
[a,b] = max(d);
end
cut the time by almost 50%. Whether the real application allows that simplification is unknown, but the concept of reducing the data structure overhead is key one.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 SPICE files에 대해 자세히 알아보기

질문:

2018년 4월 12일

댓글:

2018년 4월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by