我正在尝试创建一个函数,将矩阵中的特定数字与同一矩阵中的特定数字交换。例如,如果我从 A = [1 2 3;1 3 2] 开始,我希望能够创建 B = [2 1 3; 2 3 1],只需告诉 matlab 将 1 与 2 交换即可。任何意见,将不胜感激。谢谢!
最佳答案
如果你有以下矩阵:
A = [1 2 3; 1 3 2];
并且你希望所有的都变成二,二的变成一,下面是最简单的方法:
B = A;
B(find(A == 1)) = 2;
B(find(A == 2)) = 1;
编辑:
正如 Kenny 所建议的,这甚至可以进一步简化为:
B = A;
B(A == 1) = 2;
B(A == 2) = 1;
关于Matlab交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/647042/