Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中的两列之间交换多个值_Matlab_Swap_Percentage - Fatal编程技术网

如何在Matlab中的两列之间交换多个值

如何在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%的行。

我有一个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%的行。交换第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])可能会稍微快一点