Is there a way to do the following without running a for loop.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Srinivas Gopal Krishna
el 30 de Jul. de 2020
Comentada: Srinivas Gopal Krishna
el 31 de Jul. de 2020
clear all
y=randi(5,1,5)';
A=zeros(5,5);
for i=1:5,
A(i,y(i))=1;
end
I want to know if this can be implemented without using a for loop.
0 comentarios
Respuesta aceptada
Bruno Luong
el 30 de Jul. de 2020
Editada: Bruno Luong
el 30 de Jul. de 2020
y = randi(5,1,5)'
Then
A = accumarray([(1:5)' y(:)], 1, [5 5]);
or
A = zeros(5,5);
A(sub2ind(size(A),1:5,y'))=1
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!