我有以下三个向量:
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]
。
您可以通过两种方式解决此问题:
1。
data_sent(trans_now) = data2send(trans_now)
输出为:
data_sent = 1 0 0 1
在该解决方案中,我假设的所有初始值data_sent
都从as开始,0
并且您需要为其分配一次。
2。
datasent(intersect(find(data2send == 1), trans_now)) = 1
输出为:
data_sent = 1 0 0 1
在此解决方案中,不使用任何假设,并且您仅在data2send == 1
和出现在trans_now
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句