Effacer les filtres
Effacer les filtres

vectorization examples for efficiency

3 vues (au cours des 30 derniers jours)
feynman feynman
feynman feynman le 10 Mar 2024
Commenté : feynman feynman le 11 Mar 2024
I wonder if the following expressions are already optimized forms for computational efficiency and if not how to rewrite them?
x=linspace(0,1);
0*x; x+1
a=[x;x]
[2*x;a(1,:)]
repmat([1;1;0],1,10);

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Mar 2024
x = 0:1/99:1;
zeros(size(x)); x+1
a=[x;x];
[2*x; x]
repmat([1;1;0],1,10);
  3 commentaires
Walter Roberson
Walter Roberson le 11 Mar 2024
Modifié(e) : Walter Roberson le 11 Mar 2024
Interesting
When I try it several times, the times vary pretty wildly, including cases where the 0*x comes out much slower.
format long g
testit();
testit();
T = testit()
T = 3×1
0.000366 0.001324 0.000718
function T = testit()
T = zeros(3,1);
N = 10000;
x = linspace(0,1);
start = tic; for K = 1:N; Z = 0*x; end; T(1) = toc(start);
start = tic; for K = 1:N; Z = zeros(size(x)); end; T(2) = toc(start);
start = tic; for K = 1:N; Z = zeros(1,100); end; T(3) = toc(start);
end
feynman feynman
feynman feynman le 11 Mar 2024
, which means 0*x and zeros(size(x)) aren't necessarily better or worse than the other?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by