排序算法函数
将一串数字(含重复)进行排序,输出nodey为从小到大排列的向量,nm为不重复的数字数目
function [nodey,nm]=lsq_PXH(node,cc)
% n=length(node);
yc=roundn(node(cc,:),-6);
ny =yc(1);
kk= 2;
for i = 1:length(yc)
for ii = 1:length(ny)
if ny(ii) == yc(i)
flag = 1;
break;
else
flag = 0;
end
end
if flag == 0
ny(kk) = yc(i);
kk = kk+1;
end
end
nm=length(ny);
nodey=sort(ny',1);
end
举个栗子
node=[5 22 2 2 6 4 6 8 9];
cc=1;
[nodey,nm]=lsq_PXH(node,cc)
输出为
表明这个数组有7个不同的数字,且从大到小数字为nodey
sort函数的用法
A=[2 3 3 4 8 9 2;
1 5 6 2 2 3 4;
3 3 8 9 5 4 2;
9 6 7 8 5 2 3];
A1=sort(A,1)
A2=sort(A,2)
b=sortrows(A,-3)
b1=sortrows(A,3)
结果
可以看出A1是对矩阵中的所有列进行排序,A2是对矩阵中的所有行进行排序
这点在matlab帮助文档中解释的比较清楚
sortrows(A,-3) 对矩阵A按照第3列降序排列
sortrows(A,3) 对矩阵A按照第3列升序排列