gusucode.com > 《模式识别与智能计算》matlab源代码 > 《模式识别与智能计算》matlab源代码/《模式识别与智能计算》部分函数的源程序/书程序/第2章/ifclassify.m
function y=ifclassify(varargin) r=length(varargin); num=nchoosek(1:r,2); for i=1:size(num,1) y(i)=myff(varargin{num(i,1)},varargin{num(i,2)}); end function y1=myff(class1,class2) r1=size(class1,1);r2=size(class2,1); x=[class1 ones(r1,1);-1*class2 -1*ones(r2,1)]; x1=inv(x'*x)*x'; b=ones(r1+r2,1); flag=1;c=0; while flag f1=0;f=0; w=x1*b; e=x*w-b; c=c+1; for i=1:r1+r2 if e(i)>=0&&~(any(isnan(e(i)))) f=1; end end if f for i=1:r1+r2 if abs(e(i))>1e-10 f1=1; end end if f1 b=b+(e+abs(e)); else y1=1; flag=0; end else y1=0; flag=0; end if c>1000 flag=0; end end