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?

 Akzeptierte Antwort

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

4 Kommentare

Lars Urban
Lars Urban am 10 Mai 2022
Bearbeitet: Lars Urban am 10 Mai 2022
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. :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Davide Masiello
Davide Masiello am 10 Mai 2022
Bearbeitet: Davide Masiello am 10 Mai 2022
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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 10 Mai 2022

Kommentiert:

am 10 Mai 2022

Community Treasure Hunt

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

Start Hunting!

Translated by