Adding every loop a matrix from the right side to a matrix

I want to add after one loop a matrix to a matrix that was calculated one loop before. For example in the first loop the matrix would be 2x2 after second loop 2x4 and the next one 2x6 ...
I know that "manually" it would be i think like this
A = [1,2;3,4]
A = 2×2
1 2 3 4
B(:,1:2) = A
B = 2×2
1 2 3 4
B(:,3:4) = A
B = 2×4
1 2 1 2 3 4 3 4
But how would this look like in a loop?

 채택된 답변

A = [1,2;3,4] ;
B = repmat(A,1,2)
B = 2×4
1 2 1 2 3 4 3 4

댓글 수: 4

Lars Urban
Lars Urban 2022년 5월 10일
편집: Lars Urban 2022년 5월 10일
Yes it works allmost. For 2 of 3 matrices it works fine but for one matrix if we take the example it not makes a 2x4 it makes a 4x4. Or like in my case it make from a 14x2 a 28x4 and not 14x4. Could it be that the entries change and repmat would not work ?
Show us what exact matrix you want to make.
Sorry the problem why it was creating a bigger matrix after a loop was because i had a mistake before repmat. Problem solved thank you for the help :)
Glad it worked for you.
Happy coding in MATLAB. :)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Davide Masiello
Davide Masiello 2022년 5월 10일
편집: Davide Masiello 2022년 5월 10일
In the example below, a new 2x2 random matrix is created at each new iteration and appended to an existing matrix A.
clear,clc
A = [];
for i = 1:10
B = rand(2,2);
A = [A,B];
end
A
A = 2×20
0.3994 0.6342 0.9210 0.0792 0.5605 0.1604 0.5920 0.6461 0.9130 0.8542 0.8578 0.3106 0.6250 0.0873 0.7464 0.4444 0.7945 0.1335 0.2230 0.5452 0.6890 0.5618 0.7523 0.2968 0.8271 0.6431 0.2080 0.2957 0.9066 0.7982 0.6292 0.7462 0.0664 0.8576 0.5080 0.5076 0.3264 0.3242 0.8307 0.2477

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2022년 5월 10일

댓글:

2022년 5월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by