l=4;r=3;d=1;%d 是最终要得到的特征数 l是每次增加的特征 r是每次减去的特征 chosen=[];%%表示已选的特征 chosen=[chosen 1]; while d<13 %-----------------------------1 选l个特征------------------------------------- for j=1:l %选l个特征 J=zeros([1 31]); for i=1:31 %%一共31组特征 [mm nn]=size(chosen); for p=1:nn if i==chosen(p) J(i)=0; break; else J(i)=J(i)-sum(sum((feature{i}-feature{chosen(p)}).^2)); end end end mi=min(J); for i=1:31 if J(i)==0 J(i)=mi; end end [ma1 we1]=max(J); chosen=[chosen we1]; end %-----------------------------2 去掉r个特征------------------------------------- dele=[]; for j=1:r %%删r个 [ch chnum]=size(chosen); J=zeros([1 chnum]);ii=0; for i=1:chnum % 去掉chosen中第i个的效果 [mm nn]=size(chosen); for p=1:nn for q=1:nn if (chosen(q)~=chosen(i)) & (chosen(p)~=chosen(i)) J(i)=J(i)-sum(sum((feature{chosen(q)}-feature{chosen(p)}).^2)); end end end end mi=min(J); for cc=1:chnum if J(cc)==0 J(cc)=mi; end end [ma we]=max(J); chosen(we)=[]; end d=d+l-r end [mm nn]=size(chosen); tezh=[]; for i=1:nn tezh=[tezh feature{chosen(i)}]; end


雷达卡



京公网安备 11010802022788号







