Modifying a matrix such that each entry can be written in a block of four

1 Ansicht (letzte 30 Tage)
Hi,
I have a matrix, say
A = [1 2
3 4];
I want to modify it in such a way that it can be written as
A = [1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4];
Each entry in the matrix A can be written in a block of four. How can I code it?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Sep. 2021
Bearbeitet: Walter Roberson am 6 Sep. 2021
A = [1 2
3 4]
A = 2×2
1 2 3 4
B = kron(A, ones(2,2))
B = 4×4
1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4
C = repelem(A, 2, 2)
C = 4×4
1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4

Weitere Antworten (1)

Yamina chbak
Yamina chbak am 6 Sep. 2021
a=[1 2 ; 3 4];
A=zeros(2*size(a));
A(1:2,1:2)=a(1);
A(1:2,3:4)=a(3);
A(3:4,1:2)=a(2);
A(3:4,3:4)=a(4);
A
A = 4×4
1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by