knn.m

来自「DSK6713 Speech.rar語音訊號處理應用範例程序」· M 代码 · 共 44 行

M
44
字号
% ================================================================
%   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 + =
减小字号Ctrl + -
显示快捷键?