我有像这样的单元格数组:
M =
[002] [A] [0] [0] [0] [381]
[002] [B] [0] [0] [0] [166]
[002] [C] [0] [0] [0] [136]
[002] [D] [0] [0] [0] [880]
[003] [E] [0] [0] [0] [839]
[003] [F] [0] [0] [0] [156]
[003] [G] [0] [0] [0] [789]
[003] [H] [0] [0] [0] [676]
[003] [I] [0] [0] [0] [778]
[004] [J] [0] [0] [0] [787]
我有一个输入文件,其中包含:
[X] [4] [3] [E] [839]
[Y] [7] [4] [F] [156]
[Z] [8] [1] [I] [778]
我想要第二个文件([E], [F], and [I])
中的第三列作为索引来找到M中的值,然后替换M中的行(但没有改变M的第一列),所以我得到了新的矩阵像这样:
N =
[002] [A] [0] [0] [0] [381]
[002] [B] [0] [0] [0] [166]
[002] [C] [0] [0] [0] [136]
[002] [D] [0] [0] [0] [880]
[003] [X] [4] [3] [E] [839]
[003] [Y] [7] [4] [F] [156]
[003] [G] [0] [0] [0] [789]
[003] [H] [0] [0] [0] [676]
[003] [Z] [8] [1] [I] [778]
[004] [J] [0] [0] [0] [787]
我该怎么做?
答案 0 :(得分:1)
使用ismember
。
N = M; %Making a copy of M
N(ismember(M(:,2),inp(:,4)),2:end) = inp; %Replacing with desired terms from input