how to store vectors into matrix
90 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a vector which takes different values at each iteration I would like to store the result of the vectors in a matrix example iteration 1 A = [1 2 3 4] iteration 2 A = [5 6 7 8] so I will want a result matrix: result = [1 2 3 4; 5 6 7 8]
0 comentarios
Respuestas (5)
KSSV
el 19 de Ag. de 2020
m = 10 ; n = 4 ;
A = zeros(m,n) ;
for i = 1:m
A(i,:) = rand(1,n) ;
end
0 comentarios
Image Analyst
el 19 de Ag. de 2020
Try this:
result = zeros(numIterations, 4);
for k = 1 : numIterations
% Get A somehow, then
result(k, :) = A;
end
0 comentarios
Ruger28
el 19 de Ag. de 2020
Editada: Ruger28
el 19 de Ag. de 2020
A = [1 2 3 4];
B = [5 6 7 8];
C = [A;B]
In a loop:
Sum_Matrix = []; % pre-allocate if you know how many total elements in array you'll have
A = [1 2 3 4];
for ii = 1:100 % number of iterations
% whatever math to get you your vector
B = A * ii; % example
Sum_Matrix = [Sum_Matrix;B];
end
2 comentarios
Image Analyst
el 20 de Ag. de 2020
If the "A" is really as predictable as you implied in your comment to Ruger28 (and not general as I assumed in my Answer), and you want a vectorized way to do it, you can use reshape:
numIterations = 5; % Whatever you want/need.
result = reshape([1 : numIterations*4]', 4, [])'
You get:
result =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
Of course, this vectorized version is the more MATLAB-y way to do it. No for loops are needed at all. (This way also uses your preferred and better variable name of "result".)
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing 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!