在下面,我把 C、A、B 放在一起只是为了便于理解。实际的元胞数组没有这种类型的标题。
我有一个矩阵 [3 7 2 9 34; 10 9 7 34 南; 27 2 9 南 6 7 3 26 南]
C A B
-------------------
3 7 2 9 34
10 9 7 34 NaN
27 2 9 NaN NaN
6 7 3 26 NaN
和一个矩阵 [2 3; 2 10; 2 27; 1 10; 1 6; 1 6; 2 10] 看起来像
D C
------
2 3
2 10
2 27
1 10
1 6
1 6
2 10
我想通过使用 Matlab 查找和替换来获得
D A B
-----------
2 7 2 9 34
2 9 7 34
2 2 9
1 9 7 34
1 7 3 26
1 7 3 26
2 9 7 34
如果第 1 个元胞数组的 C 列和第 2 个矩阵的 C 列相同,这个问题就很简单了。
但是它们不同的事实使我很难做到这一点。
我可以使用 for 和 if 来做到这一点。例如,如果第二个矩阵的 C 列是 3,它将被 7 2 9 34 替换。
但这非常缓慢。所以我需要一个更快的代码。
起初我想到了独特的,但无法弄清楚如何导致预期的结果。