📄 oneclass.m
字号:
clear
d6(1)=0;d6(2)=0;
for i=3:288
d6(i)=1+0.3*d6(i-2)-1.4*d6(i-1)^2;
end
d8=d6(100:199);
N=length(d8);
for i=1:N-1
x(i,:)=d8(i:i+1);
end
rou=0.3;
n=N-1;
for i=1:n
for j=1:n
d(i,j)=exp(-(x(i,:)-x(j,:))*(x(i,:)-x(j,:))'/rou);
end
end
H=d;
f(1:n)=0;
A(1:n)=0;
b=1;
Aeq(1:n)=1;
beq=1;
C=1/2;
LB1(1:n)=0;UB1(1:n)=C;
LB=LB1';UB=UB1';
[X ok how]=quadprog(H,f,A,b,Aeq,beq,LB,UB);
%以上是对一类样本进行优化;
ddd=0;
k=1;
for i=1:n
if X(i)>0&X(i)<C
xx(k,:)=x(i,:);
k=k+1;
end
end
%以上是计算满足0<alfa<C的样本;
for i=1:n
for j=1:n
ddd=ddd+X(i)*X(j)*exp(-(x(i,:)-x(j,:))*(x(i,:)-x(j,:))'/rou);
end
end
%以上计算a^2;
dd=0;
for i=1:n
dd=dd+X(i)*exp(-((xx(1,:)-x(i,:))*(xx(1,:)-x(i,:))')/rou);
end
rr=1-2*dd+ddd;
%以上计算式2.45
hold on;
for i=1:N-1
plot(x(i,1),x(i,2),'k*');
end
xxx=-2.5:0.01:2.5;yyy=xxx;
[XXX,YYY]=meshgrid(xxx,yyy);
zzz=0;
for i=1:n
zzz=zzz+X(i)*exp(-((XXX-x(i,1)).^2+(YYY-x(i,2)).^2)/rou);
end
qqq=0;
for i=1:n
for j=1:n
qqq=qqq+X(i)*X(j)*exp(-(x(i,:)-x(j,:))*(x(i,:)-x(j,:))'/rou);
end
end
zzz=1-2*zzz+qqq; %2.46
rrr=rr;
contour(xxx,yyy,zzz,[rrr rrr],'k');
%以上是画边界图,即f(z)=R^2 (式2.46等于R^2)
hold off;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -