# Find indices in 2D Matrix

4 views (last 30 days)
Bianka Markovic on 29 Jul 2021
Edited: the cyclist on 30 Jul 2021
Hello everyone,
I'm trying to solve he problem with my indices. I have a 2D matrix A with ones and zeros. Now i want to define my other matrix B on those coordinates where A=1. But in the end i still want to have an 2D Matrix, not a vector with indeces.
Does anyone know how this could be solved.
Thank you!
A = rand(50,20)>.3;
B=rand(50,20);
newmatrix=B(A);

the cyclist on 29 Jul 2021
Is this what you mean? (I made the matrices smaller, just to show the result.)
A = rand(5,2)>.3;
B = rand(5,2);
newmatrix = zeros(size(A));
newmatrix(A) = B(A)
newmatrix = 5×2
0.5006 0 0.1912 0.2603 0.9736 0.3731 0 0.7064 0 0
the cyclist on 30 Jul 2021
Ah, sorry. You must have an older version of MATLAB. Newer versions (since R2016b) have implicit expansion. Glad you found bsxfun.

R2019b

### Community Treasure Hunt

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

Start Hunting!