Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting_Matrix - Fatal编程技术网

在MATLAB中对矩阵排序时如何维护行?

在MATLAB中对矩阵排序时如何维护行?,matlab,sorting,matrix,Matlab,Sorting,Matrix,我有一个2乘3的矩阵,我想根据第一列对它进行排序。下面是一个例子: data will change to --> new data 11 33 10 22 22 44 11 33 10 22 22 44 我有一个用于排序矩阵a的代码,但它工作不好: sort(A,1,'ascend'); 该函数可以为您处理以下问题: B = sortrows(A);

我有一个2乘3的矩阵,我想根据第一列对它进行排序。下面是一个例子:

data   will change to -->  new data
11 33                      10 22
22 44                      11 33 
10 22                      22 44 
我有一个用于排序矩阵
a
的代码,但它工作不好:

sort(A,1,'ascend');
该函数可以为您处理以下问题:

B = sortrows(A);
正如@gnovice所建议的,这是最好的解决方案。您还可以为和命令指定多个输出,这将返回排序索引。您也可以使用它来修改其他列,或者只是跟踪排列。例如:

A=rand(10,2);
[B, idx]=sortrows(A);

如何将排序后的数据保存回同一个txt文件?@Jessy:要将排序后的数据写入文件,可以使用FPRINTF()。这里有一个例子:
fid=fopen('newdata1.txt','w');fprintf(fid,'%f%f\n',B.);fclose(fid)
gnovice@Thank..我有问题,它没有打印在txt文件中,正如B=sortrows(A)@Jessy:两种可能的解决方案:1)在写出来之前,请确保将
B
'
进行转换。2) FPRINTF的格式字符串中可能必须有
\r\n
而不是
\n
。虽然它没有显示在相关的侧栏上,但我发现了一个非常旧的副本:。我将尝试重新标记这两个,以便它们更有可能出现在搜索中。