Masking an array back to a selected region in a Matrix

1 次查看(过去 30 天)
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 个评论
Fabio Freschi
Fabio Freschi 2019-9-23
region is 304x640 (double), vdisp_selected is 16472x1 (logical). How vdisp_selected is related to region?
waqas
waqas 2019-9-23
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.

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2019-9-23
out = double(region);
out(region) = vdisp_selected;

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by