我使用matlab并且遇到了一些困难。我试图将一个矩阵(A)的列与另一个矩阵(B)的列交换。例如:
A =
4 6 5
7 8 4
6 5 9
1 0 0
0 1 0
0 0 1
B =
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 -1 0 0
0 0 0 0 -1 0
0 0 0 0 0 -1
有没有办法告诉Matlab切换A中的第1列和B中的第3列?
答案 0 :(得分:5)
tmp = A(:,1);
A(:,1) = B(:,3);
B(:,3) = tmp;
答案 1 :(得分:4)
您实际上可以在一行中执行此列交换,而无需使用函数DEAL的虚拟变量:
[A(:,1),B(:,3)] = deal(B(:,3),A(:,1));
答案 2 :(得分:1)
使用
A(:,1) = B(:,3);
或者实际交换它们,您可以使用:
dummy = A(:,1);
A(:,1) = B(:,3);
B(:,3) = dummy;