📄 knn.m
字号:
% ================================================================
% Calculate 2-mean
% ================================================================
function [VH,VL]=knn(V);
%function [V1,V2,W,T]=knn(V);
[i_t,order]=size(V);
i_h=fix(i_t/2);
i_l=ceil(i_t/2);
VH=V(1:i_h,:);
VL=V(i_l:i_t,:);
index=1;
MVh(index,:)=zeros(1,order);
MVl(index,:)=zeros(1,order);
while 1
if index > 1000
break;
end
index=index+1;
MH(index,:)=mean(VH);
ML(index,:)=mean(VL);
if MH(index,:)==MH(index-1,:) & ML(index,:)==ML(index-1,:)
break;
end
i_h=0;
i_l=0;
for i=1:i_t
if sum((V(i,:)-MH(index,:)).^2) < sum((V(i,:)-ML(index,:)).^2)
VH(i_h+1,:)=V(i,:);
else
VL(i_l+1,:)=V(i,:);
end
end
end
%W(1,:)=MH(index,:)-ML(index,:);
%T=sum(W.^2)/2;
%if MH(index,:).*W-T > 0
% V1=VH;
% V2=VL;
%else
% V1=VL;
% V2=VH;
%end
% ================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -