我在 MATLAB 中有 2 组需要匹配的列。如果映射不是必须的,有很多方法可以做到这一点one-to-one
。我下面的示例将说明我正在尝试做的事情
mat1 = [ 100 734567 500 734567 23
1011 734568 200 734568 11
1011 734568 200 734568 23
1011 734568 200 734568 23
1011 734568 200 734568 34
1111 734569 300 734569 34 ] ; % ignore last column
mat2 = [ 1011 734568 200 734568
1011 734568 200 734568
1011 734568 100 734568
1111 734569 300 734569 ] ;
我需要根据第 1、2、3、4 列从 Mat1 中删除在 Mat2 中找到的那些行。结果:
mat1 = [ 100 734567 500 734567 23
1011 734568 200 734568 23
1011 734568 200 734568 34 ] ;
一个可能的解决方案是包含 row_ids 1,2,3.. 用于如下所示的唯一行,但我无法实现相同的。谢谢你的帮助!实际数据集很大,因此首选矢量化解决方案!
mat2 = [ 1011 734568 200 734568 1
1011 734568 200 734568 2
1011 734568 100 734568 1
1111 734569 300 734569 1