image thumbnail
from Orthogonal Quadratic Discriminant Fuctions by Suicheng Gu
A new quadratic discriminant fuction

[total,ml]=NC(tr,trl,te,tel)
function [total,ml]=NC(tr,trl,te,tel)

class=max(trl);[ntr,nd]=size(tr);[nte,nd]=size(te);
means=zeros(class,nd);nums=zeros(class,1);E=zeros(nd,nd,class);
for i=1:ntr;
    nums(trl(i))=nums(trl(i))+1;
    means(trl(i),:)=means(trl(i),:)+tr(i,:);
end;
    means=means./(nums*ones(1,nd));
total=0;
hte=zeros(1,class);ml=zeros(nte,1);
for j=1:nte;
    for i=1:class;
        tempv=(te(j,:)-means(i,:));
        hte(i)=tempv*tempv';
    end;
    [mv,ml(j)]=min(hte);
    if(ml(j)~=tel(j))
       total=total+1; 
    end;
end;

Contact us at files@mathworks.com