如何在Matlab中的两列之间交换多个值
我有一个10x100大小的矩阵。如何在前40%行的第1列和第10列之间交换值?您可以使用:如何在Matlab中的两列之间交换多个值,matlab,swap,percentage,Matlab,Swap,Percentage,我有一个10x100大小的矩阵。如何在前40%行的第1列和第10列之间交换值?您可以使用: A = rand(10,100); A(round(1:0.4*size(A,1)),[1,10]) = A(round(1:0.4*size(A,1)),[10,1]); 您可以使用: A = rand(10,100); A(round(1:0.4*size(A,1)),[1,10]) = A(round(1:0.4*size(A,1)),[10,1]); 这将交换40%的列,而不是40%的行。
A = rand(10,100);
A(round(1:0.4*size(A,1)),[1,10]) = A(round(1:0.4*size(A,1)),[10,1]);
您可以使用:
A = rand(10,100);
A(round(1:0.4*size(A,1)),[1,10]) = A(round(1:0.4*size(A,1)),[10,1]);
这将交换40%的列,而不是40%的行。交换第1列和第2列,而不是第1列和第10列。一个小的改进:
A(1:round(0.4*size(A,1)),[1,10])=A(1:round(0.4*size(A,1)),[10,1])代码>可能稍快此交换40%的列,而不是40%的行。交换第1列和第2列,而不是第1列和第10列。一个小的改进:A(1:round(0.4*size(A,1)),[1,10])=A(1:round(0.4*size(A,1)),[10,1])代码>可能会稍微快一点