Это расширенный комментарий, а не ответ ... Я потерял связь с моими серверами разработки, поэтому счел целесообразным потратить некоторое время.Я определил файл сценария, содержащий код:
A=1:1500; % bigger vector for stable timing
tStart = tic;
R = zeros(size(A,2));
for i=1:size(R,1)
for j=1:size(R,2)
R(i,j) = max(A(i),A(j));
end
end
tElapsed = toc(tStart)
другой сценарий, содержащий:
A=1:1500;
tStart = tic;
B=ones(size(A))'*A;
R=max(B,B');
tElapsed = toc(tStart)
и третий, содержащий:
A=1:1500;
tStart = tic;
r=size(A,2);
R=ones(r);
for i=1:r
for j=(i+1):r
R(i,j)=max(A(i),A(j));
R(j,i)=R(i,j);
end
R(i,i)=A(i);
end
tElapsed = toc(tStart)
, и запускал их каждые 5раз.Среднее время ожидания составило: 1.7674 с, 0.0520 с, 0.0645 с, поэтому ответ @Johan Lundberg берет лавры за (временную) эффективность.
Ради полноты я рассчитал @woodchips ответ;истекшее среднее время составило 0,0206 с.@ Джохан страдает от позора, когда лавры вырывают из его лба.