how to store vectors into matrix
조회 수: 91 (최근 30일)
이전 댓글 표시
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
답변 (5개)
Image Analyst
2020년 8월 19일
Try this:
result = zeros(numIterations, 4);
for k = 1 : numIterations
% Get A somehow, then
result(k, :) = A;
end
댓글 수: 0
Ruger28
2020년 8월 19일
편집: Ruger28
2020년 8월 19일
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
Image Analyst
2020년 8월 20일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!