Borrar filtros
Borrar filtros

help me to reduce my function time runing

1 visualización (últimos 30 días)
mostafa
mostafa el 21 de Oct. de 2014
Comentada: mostafa el 21 de Oct. de 2014
Hi every body
This is my code
if true
for r = 1:100
U = 1 * (r-1);
for c = 1:100
V = 2 * (c-1);
F(r,c) = 10 * sin(U + V);
end
end
imagesc(F);
colormap(gray);
end
Its generate a replicate pattern which I upload it here. Is there any suggestion to reduce the running time for this code?
Thanks

Respuesta aceptada

Roger Stafford
Roger Stafford el 21 de Oct. de 2014
U = (0:99).';
V = 0:2:198;
F = (10*sin(U))*cos(V)+(10*cos(U))*sin(V);
imagesc(F);
colormap(gray);

Más respuestas (1)

Henrik
Henrik el 21 de Oct. de 2014
Editada: Henrik el 21 de Oct. de 2014
This should work:
if true
F=zeros(100,100); %always preallocate
c = 1:100;
V = 2 * (c-1);
for r = 1:100
U = 1 * (r-1);
F(r,:) = 10 * sin(U + V);
end
imagesc(F);
colormap(gray);
end
You can get rid of the r loop too with e.g. bsxfun, but I don't have time to test it right now
  1 comentario
mostafa
mostafa el 21 de Oct. de 2014
your answer is true but if i change the size to 150*100 it wouldn't work.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by