如果我有一个名为tmp的3 x 3矩阵和矢量数据
tmp = [1,0,0;2,0,0;3,0,0];
data = [1,3];
data = transpose(data);
在第一个元素与数据中的元素匹配的每一行中,我想将第二列中的值更新为1.这将导致tmp看起来像这样:
tmp = [1,1,0;2,0,0;3,1,0];
有没有办法可以在没有for循环的情况下做到这一点?
答案 0 :(得分:2)
像这样:
tmp(:,2) = ismember(tmp(:,1),data)
结果:
tmp =
1 1 0
2 0 0
3 1 0
答案 1 :(得分:0)
如果你的数据中只有两个元素,那就可以了:
tmp(:,2)=or(tmp(:,1)==data(1),tmp(:,1)==data(2))