Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Replace certain elements of matrix with elements of another matrix [Matlab / Octave]

I have two matrices:

A = [0,1,1;1,0,0;0,0,0]
B = [3,0,0;0,3,3;4,4,4]

And I want to replace alle the 0-elements in matrix A, with the element, that is on the same position in matrix B.

In the above example the result matrix would look like this:

result = [3,1,1;1,3,3;4,4,4]

Is there a matlab function for that purpose, or do I have to write one on my own?

Regards

like image 948
Quick n Dirty Avatar asked Dec 15 '22 12:12

Quick n Dirty


1 Answers

This is easily achieved with indexing:

idx = A == 0;
A(idx) = B(idx);
like image 144
Dennis Jaheruddin Avatar answered May 19 '23 19:05

Dennis Jaheruddin