image thumbnail
error=oneoutfldnn(ii,iil,k)
function error=oneoutfldnn(ii,iil,k)
class=max(iil);
[m,n]=size(ii);
error=0;
d=zeros(m-1,1);
for num=1:m;
    tri=zeros(m-1,n);
    tei=ii(num,:)/100;
    tel=iil(num);
    tri(1:num-1,:)=ii(1:num-1,:)/100;
    trl(1:num-1,:)=iil(1:num-1,:);
    tri(num:m-1,:)=ii(num+1:m,:)/100;
    trl(num:m-1,:)=iil(num+1:m,:);
    means=zeros(class,n);
    nums=zeros(class,1);
    for i=1:m-1;
        nums(trl(i))=nums(trl(i))+1;
        means(trl(i),:)=means(trl(i),:)+tri(i,:);
    end;
    means=means./(nums*ones(1,n));
    sb=zeros(n,n);
    sw=zeros(n,n);
    allmean=mean(tri);
    for i=1:class;
        sb=sb+nums(i)*(means(i,:)-allmean)'*(means(i,:)-allmean);
    end;
    for i=1:m-1;
        sw=sw+(tri(i,:)-means(trl(i),:))'*(tri(i,:)-means(trl(i),:));
    end;
    [a,b]=eig(inv(sw)*sb);
    tri=tri*a(:,1:k);
    tei=tei*a(:,1:k);
    for i=1:m-1;
        d(i)=(tri(i,:)-tei)*(tri(i,:)-tei)';
    end;
    [p,q]=min(d);
    if tel~=trl(q);
        error=error+1;
   end;
end;

Contact us at files@mathworks.com