Инициализировать вектор с единичными индексами, установленными в другом векторе - PullRequest
3 голосов
/ 27 ноября 2011

Учитывая вектор:

v1 = [1 ; 3; 5]

и без использования цикла for как вы могли бы создать новый вектор v2 of length n с:

каждыйэлемент v2 устанавливается в 1, если его индекс находится в v1, в противном случае 0 .

Так, например, учитывая вышеприведенные v1 и n = 8, я ожидал бы, что v2 будет иметь значения:

v2 = [1; 0; 1; 0; 1; 0; 0; 0]

1 Ответ

7 голосов
/ 27 ноября 2011
>> v2 = zeros(n,1);
>> v2(v1) = 1;
...