我有一个数组,我想根据“索引数组”更改某些列中的值。
假设我有一个数组A
,其中第 1 列和第 2 列中的值将根据switch_mat
下面的矩阵进行切换。
A(:,[1 2]) =
1 2
2 6
2 7
6 7
7 12
7 13
12 13
switch_mat =
1 1
2 2
6 3
7 4
12 5
13 6
是否可以在没有循环的情况下使用类似这样的功能来做到这一点?
A(:,[1 2]) = renum(A(:,[1 2]),switch_mat)
新的 A 矩阵将是:
A(:,[1 2]) =
1 2
2 3
2 4
3 4
4 5
4 6
5 6
谢谢!
编辑: A 矩阵中的开关将是:
1 -> 1
2 -> 2
6 -> 3
7 -> 4
12 -> 5
13 -> 6 % 13 becomes a 6, because they are in the same row of switch_mat
的维度switch_mat = length(unique(A))