Masking an array back to a selected region in a Matrix

1 view (last 30 days)
Hi,
I have a column vector which I need to insert back to the a matrix(Attached in .mat file). The variable region has logicals in the places where I want to put the data given by variable name vdisp_selected. Is there an efficient way of achieving this by masking?
I tried to play around with masking based on region but I am getting a square region in the end.
Cheers,
  2 Comments
Fabio Freschi
Fabio Freschi on 23 Sep 2019
region is 304x640 (double), vdisp_selected is 16472x1 (logical). How vdisp_selected is related to region?
waqas
waqas on 23 Sep 2019
Hi,
Its the otherway around. 'region' is a 304x640 (logical) while vdisp_selected(16472x1) is a double. 'region' has (16742x1) ones and the locations where I have 1, I want to put the data of vdisp_selected.
I initially used the 'region' to extract data from another matrix and now want to insert updated data back to the same locations.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 23 Sep 2019
out = double(region);
out(region) = vdisp_selected;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!