replace matrix A with the values of another matrix B

3 views (last 30 days)
Having a matrix A as attached, how to replace all those 1 in A with the values in matrix B, so that i get a new matrix as newA
A(:,:,1) =
0 0 1
0 1 0
0 1 1
A(:,:,2) =
1 0 0
0 0 0
0 0 0
A(:,:,3) =
0 1 0
1 0 1
1 0 0
B = [6 1 5; 2 6 7; 4 6 9];
B =
6 1 5
2 6 7
4 6 9
newA(:,:,1) =
0 0 5
0 6 0
0 6 9
newA(:,:,2) =
6 0 0
0 0 0
0 0 0
newA(:,:,3) =
0 1 0
2 0 7
4 0 0

Accepted Answer

Bruno Luong
Bruno Luong on 15 May 2022
Edited: Bruno Luong on 15 May 2022
A= cat(3, [ 0 0 1;
0 1 0;
0 1 1], ...
[1 0 0,
0 0 0;
0 0 0], ...
[0 1 0;
1 0 1;
1 0 0 ]);
B = [6 1 5; 2 6 7; 4 6 9];
A.*B
ans =
ans(:,:,1) = 0 0 5 0 6 0 0 6 9 ans(:,:,2) = 6 0 0 0 0 0 0 0 0 ans(:,:,3) = 0 1 0 2 0 7 4 0 0

More Answers (1)

Dyuman Joshi
Dyuman Joshi on 15 May 2022
Edited: Dyuman Joshi on 15 May 2022
A(:,:,1) = [0 0 1; 0 1 0; 0 1 1];
A(:,:,2) = [1 0 0; 0 0 0; 0 0 0];
A(:,:,3) = [0 1 0; 1 0 1; 1 0 0];
B = [6 1 5; 2 6 7; 4 6 9];
newA=A.*B
newA =
newA(:,:,1) = 0 0 5 0 6 0 0 6 9 newA(:,:,2) = 6 0 0 0 0 0 0 0 0 newA(:,:,3) = 0 1 0 2 0 7 4 0 0

Community Treasure Hunt

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

Start Hunting!