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

142 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Bruno Luong
Bruno Luong le 8 Déc 2018
A(idx) = 0;
B(setdiff(1:end,idx)) = 0;

Plus de réponses (1)

madhan ravi
madhan ravi le 8 Déc 2018
Modifié(e) : madhan ravi le 8 Déc 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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by