%N的求解
%注意:从小到大排序的方法:sort()函数与fliplr()函数的结合使用。
clc
clear
%--------------A为cheng_xu的X-----------------------------
A=[82,77.9000000000000,0.200425033061791;
74.2000000000000,75.8000000000000,0.188126683675250;
78.2000000000000,75.6000000000000,0.192806361387551;
79.4000000000000,76.9000000000000,0.195943296778620;
71,81.5000000000000,0.191442498644144;
68.4000000000000,75.5000000000000,0.180589320900021;
77.5000000000000,74.2000000000000,0.190158814088605;
71.4000000000000,72.3000000000000,0.180212499893066;
72.9000000000000,80.4000000000000,0.192384685823835;
74.3000000000000,79.8000000000000,0.193347200228280;
72.3000000000000,71.4000000000000,0.180175910888510;
63.3000000000000,72.4000000000000,0.170347494596538;
65.9000000000000,73.9000000000000,0.175466375025804;
72,77.1000000000000,0.187069264001191;
72.4000000000000,78.4000000000000,0.189219292318112;
74,67.3000000000000,0.177048506423094;
78.8000000000000,80.3000000000000,0.199535696666457;
73.1000000000000,76.7000000000000,0.187916545911268;
72.2000000000000,76.4000000000000,0.186423988965194;
77.8000000000000,76.6000000000000,0.193587196142667;
76.4000000000000,79.2000000000000,0.195173258322604;
71,79.4000000000000,0.188766493230544;
75.9000000000000,77.4000000000000,0.192262722475318;
73.3000000000000,76.1000000000000,0.187398699704490;
77.1000000000000,79.5000000000000,0.196419088500140;
81.3000000000000,74.3000000000000,0.194974051520026;
64.8000000000000,77,0.178059671504641;
81.3000000000000,79.6000000000000,0.201727779468635];
A1=A(:,1)'; %提取第一列数据
A2= sort(A1); %第一列数据升序排列
A2=fliplr(A2); %颠倒位置,得到 由大到小排列
n=length(A2);
for i=1:n %循环的作用:将原矩阵所在位置的数值,用排序后,该数值所对应的
for j=1:n % 序号代替(下同)。
if A1(1,j)==A2(i)
A1(1,j)=i;
break;
end
end
end
A1_new=A1; %完成更替。
A1=A(:,2)'; %提取第二列数据
A2= sort(A1); %第二列数据升序排列
A2=fliplr(A2); %颠倒位置,得到由大到小排列
n=length(A2);
for i=1:n
for j=1:n
if A1(1,j)==A2(i)
A1(1,j)=i;
break;
end
end
end
A1_2_new=A1; %完成更替。
A1=A(:,3)'; %提取第三列数据
A2= sort(A1); %第三列数据升序排列
A2=fliplr(A2); %颠倒位置,得到由大到小排列
n=length(A2);
for i=1:n
for j=1:n
if A1(1,j)==A2(i)
A1(1,j)=i;
break;
end
end
end
A1_3_new=A1; %完成更替。
N=[A1_new',A1_2_new',A1_3_new'];