Matlab交换

标签 matlab matrix swap

我正在尝试创建一个函数,将矩阵中的特定数字与同一矩阵中的特定数字交换。例如,如果我从 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/

相关文章:

matlab - 是否需要转换为LIBSVM格式

c - 一次一行从 .txt 文件读取到数组(Matlab 或 C)。 "Insufficient memory"使用 'A=load()' 一次加载整个文件。

python - 将二进制 numpy 矩阵中的连续 1 block 翻转到一定大小

python - 在Python中将矩阵转换为图像

c++ - 使用指针交换整数

javascript - 如何仅使用一个单独的超链接在两个图像之间交换

matlab - 如何在 MATLAB 环境中将多个图像保存在 .mat 文件中

arrays - 在matlab中计算3D点对的欧几里得距离

excel - 逆透视 Excel 矩阵/数据透视表?

c - 交换 32 位值字节的最快(优化)方式