Clear Filters
Clear Filters

How to use all the other indices except of the ones given in an array?

346 views (last 30 days)
I have a vector let's say A = [1:1:100]', vector B = [1:0.5:50.5]' and a third vector with some indices such us idx = [10 11 30 35 40 90 91 92 93 99]'. I would like set the values of A corresponding to the idx to 0 and the values of B that do not correspond to the idx to 0, somethike like: A(idx) = 0 and B(~idx) = 0.

Accepted Answer

Bruno Luong
Bruno Luong on 8 Dec 2018
A(idx) = 0;
B(setdiff(1:end,idx)) = 0;

More Answers (1)

madhan ravi
madhan ravi on 8 Dec 2018
Edited: madhan ravi on 8 Dec 2018
Make those indices logical:
A = (1:100).';
B = (1:0.5:50.5).';
Linear_indices= [10 11 30 35 40 90 91 92 93 99].';
idx=ismember(1:numel(A),Linear_indices); % idx is logical indices
A(idx) = 0
B(~idx) = 0

Community Treasure Hunt

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

Start Hunting!