Why, when doing a for loop to form a column from an array, does it give me 0 values except for the last element?

3 visualizaciones (últimos 30 días)
I need to form a column from a matrix, so that each row becomes a column, for example if I have a matrix of size mx3 [X Y Z, A B C, 1 2 3], I need it to be (3 * m) x1 [X, Y, Z, A, B, C, 1,2,3], I tried doing this with a double for loop, but it only returns zeros except for the last element. Following the previous example it would be [0,0,0,0,0,0,0,0,3]
[m,n]=size(IncECEF);
N=n;
M=m;
for I=1:N;
for Q=1:M;
Lo(N+3*(M-1),1)=IncECEF(M,N);
end
end
I don't understand why it happens, I think that each iteration overwrites the Lo matrix, writing the element of each iteration and thus deleting the previous ones, but I don't know if that is the cas

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 18 de Feb. de 2021
Editada: Fangjun Jiang el 18 de Feb. de 2021
most likely, change to
Lo(I+3*(Q-1),1)=IncECEF(Q,I)
And do you know this?
A=magic(5);
B=A'
C=B(:)

Más respuestas (1)

Walter Roberson
Walter Roberson el 18 de Feb. de 2021
reshape(IncECEF.',[],1)
no loop needed

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by