假设我有2个矩阵A
(7x2)和B
(3x2)
A = [1 5;2 6;3 7;4 8;5 9;6 10;7 11]
B = [2 4;4 7;5 3]
我想要的结果是:
C = [2 2;4 1;5 6]
答案 0 :(得分:3)
ismember
也完成了这项工作:
>> C = [B(:,1) A(ismember(A(:,1),B(:,1)),2) - B(:,2)]
C =
2 2
4 1
5 6
或者如果不是B(:,1)
的所有内容都在A
中:
[m,locs] = ismember(B(:,1),A(:,1))
C = [A(locs,1) A(locs,2) - B(m,2)]
答案 1 :(得分:2)
你想要intersect
这样,即使A不必排序或者所有数字都来自1,它也会起作用。
A = [1 5;2 6;3 7;4 8;5 9;6 10;7 11]
B = [2 4;4 7;5 3]
[cc,ia,ib] = intersect(A(:,1),B(:,1))
C = [cc,A(ia,2)-B(ib,2)]