Ответ 1
Помимо того факта, что он даст операцию по умолчанию для некоторой функции, такой как rand()
и пасхальные яйца, такие как imagesc()
и spy()
(это будет работать и без ()
), похоже, быть более эффективным способом доступа к целым массивам, если их размерность ниже 5 (как заметил @Rody Oldenhuis). Например:
a=rand(2^12);
tic
for j=1:1e5
a ;
end
toc
tic
for j=1:1e5
a(:) ;
end
toc
tic
for j=1:1e5
a() ;
end
toc
выход:
Elapsed time is 0.047250 seconds.
Elapsed time is 0.022260 seconds.
Elapsed time is 0.011925 seconds.
Однако для присвоений очень мало различий между a1=a
vs a1=a()
, где последнее медленнее на 1,5%...
Возможно, этот поток ответит на ваш вопрос относительно перегрузки оператора.