Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
How to optimize this loop
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I want to do a loop like this
for i = 1:n
A(i,B(i,1)) = 1;
end
but my matrix has size one million. Is there a way to do it faster?
0 comentarios
Respuestas (2)
Michelangelo Ricciulli
el 16 de Ag. de 2017
I think that this should save some time, since it avoids the for-loop:
i = 1:n;
A(i,B(i,1)) = 1;
1 comentario
Image Analyst
el 16 de Ag. de 2017
On my computer, it takes only 9 milliseconds for a million elements:
rows = 1000000;
columns = 5;
A = rand(rows, columns);
B = randi(columns, rows, 1);
tic
for k = 1 : rows
A(k, B(k)) = 1;
end
toc
Why do you need it faster?
1 comentario
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!