📄 relax.m
字号:
A=[1 0.1 1.1 %样本
1 6.8 7.1
1 -3.5 -4.1
1 2.0 2.7
1 4.1 2.8
1 3.1 5.0
1 -0.8 -1.3
1 0.9 1.2
1 5.0 6.4
1 3.9 4.0
-1 3.0 2.9
-1 -0.5 -8.7
-1 -2.9 -2.1
-1 0.1 -5.2
-1 4.0 -2.2
-1 1.3 -3.7
-1 3.4 -6.2
-1 4.1 -3.4
-1 5.1 -1.6
-1 -1.9 -5.1];
a=[0 0 0]; %解向量
g=0.1; %学习率
b=0.1; %裕量
for k=1:1000 %1000次循环
count=0; %计算错分样本的个数
for j=1:20 %把错分样本放到错分样本集里
if dot(A(j,:),a)<=b
count=count+1;
y(count,:)=A(j,:);
end
end
s=[0 0 0]; %记录中间结果
num=0; %记录中间结果
for m=1:count %计算中间结果
q=(b-dot(y(m,:),a))/dot(y(m,:),y(m,:));
s=s+q*y(m,:);
num=q*(b-dot(y(m,:),a))+num;
end
a=a+g*s; %计算解向量
J=num/2; %计算准则函数
plot(k,J/20,'.m') %输出准则函数
hold on;
if count==0
break;
end
end
disp('a=') %输出解向量
disp(a)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -