У меня есть следующие три вектора:
trans_now=[1 2 4]; data2send=[1 0 0 1]; datasent=[0 0 0 0];
Я хочу установить datasent
в 1
для тех узлов, которые являются членами tran_now
и чьи data2send
статус 1
. например, 4 является членом trans_now
, а data2send(4)
- это 1
, поэтому datasent(4)
должен быть установлен на 1
.
Я могу сделать это, используя цикл for и оператор if, как показано в кодениже.
for i=1:length(trans_now)
if data2send(trans_now(i))==1
datasent(trans_now(i))=1;
end
end
Однако я хочу один код лайнера для этого. Один код лайнера, который я пробовал:
req_sent(req2send(trans_now)==1)=1;
Но он не работает. Выход должен установить datasent
vector на [1 0 0 1]
.