Why does my resulting matrix only contain the last value of the iteration for p and q?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
phi(1,1) = 3;
phi(2,1) = 2;
phi(3,1) = 1;
phi(5,1) = 6;
g = [1 2 3; 4 5 6; 7 8 9];
for j = [1,2,5]
for m = [1,2,5]
for p = 1:3
for q = 1:3
k(phi(j),phi(m)) = g(p,q);
end
end
end
end
0 comentarios
Respuestas (1)
Walter Roberson
el 23 de Abr. de 2018
Your destination
k(phi(j),phi(m))
does not change as p or q change, so each iteration of p and q, you are writing to the same output location, so the result is the same as if you had only done the final assignment.
2 comentarios
Celso Carranza
el 23 de Abr. de 2018
Editada: Walter Roberson
el 23 de Abr. de 2018
Walter Roberson
el 23 de Abr. de 2018
You have
p = j
so when you do
k(phi(j),phi(p))
then that is the same as
k(phi(j), phi(j))
and as j is your outer loop, you are still ovewriting the same location for each m value.
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!