ismember in a different way

1 回表示 (過去 30 日間)
sprklspring
sprklspring 2018 年 7 月 20 日
コメント済み: sprklspring 2018 年 7 月 20 日
Hello all, I have a vector X with numbers. These X vector numbers are numbers (indeces) for columns of another vector Y that are significant. Now I want to binarize my vector Y and set the values in Y that correspond with the indeces provided by vector X to 1s, and the rest of the vector Y to 0s.
example:
X = [1 2 5 9]; Y = [10 12 3 43 75 60 67 8 90]
result: Y = [1 1 0 0 1 0 0 0 1]
I tried to do it with ismember, but I do not think it will work for indexing - could you help? Thanks.

採用された回答

Jan
Jan 2018 年 7 月 20 日
編集済み: Jan 2018 年 7 月 20 日
The values of Y do not matter in any way, do they?
X = [1 2 5 9];
Y = [10 12 3 43 75 60 67 8 90];
Y(:) = 0; % Set all to 0
Y(X) = 1; % Set elements at position X to 1
Or if you really want ismember, but this is less efficient:
Y = ismember(1:numel(Y), X);
  1 件のコメント
sprklspring
sprklspring 2018 年 7 月 20 日
Thanks Jan, exactly what I was looking for.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by