?? hk.asv
字號:
function HK(Sample1,Sample2);
n1=size(Sample1);
for i=1:n1(1)
ExtendSample1(i,:)=[Sample1(i,:) 1]; %樣本1分量增廣化,訓(xùn)練樣本增加分量1
end;
n2=size(Sample2);
for i=1:n2(1)
ExtendSample2(i,:)=[Sample2(i,:) 1]; %樣本2分量增廣化,訓(xùn)練樣本增加分量1
end;
ExtendSample2=-1.*ExtendSample2; %訓(xùn)練樣本2乘以-1
Sample=[ExtendSample1;ExtendSample2];
n=size(Sample);
%求偽逆
FInvSample=inv(Sample'*Sample)*Sample';
e=ones(1,n(1))';
count=0;
%while e~=zeros(1,n(1))'||max(e)<0||count==100, %終止循環(huán)條件
while min(e)>0||count~=100, %終止循環(huán)條件,e(k)等于零種植循環(huán),e(k)大于零繼續(xù)下步,e(k)各份量均為
b=ones(1,n(1))';%余量矢量賦初值
p=1;%賦P=1
w=FInvSample*b;
e=Sample*w-b;
if min(e)>0
w=w+p*FInvSample*abs(e);
b=b+p*(abs(e)+e);
end;
count=count+1; %%%將循環(huán)次數(shù)控制在100以內(nèi)
end;
Sample
w
e
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -