📄 perceptron_or.m
字号:
%%%%%%%%%%%%%%%%%%%感知器算法(逻辑或)%%%%%%%%%%%%%%%%%%%%%%%%%
% command window中输出:每步迭代之后更新得到的权向量,
% 以及最终得到正确分类的权向量.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
theta = 0.05;
eita = 0.02;
w = rand(1,2)/10; %随机初始化权向量
x1 = [0;
0];
x2 = [0 1 1;
1 0 1];
N = size(x1,2)+size(x2,2);
num = 0;
count = 0;
while num<N
for i=1:size(x1,2)
count = count + 1;
if w*x1(:,i)-theta < 0
num = num+1;
else
num = 0;
w = w - eita*x1(:,i)';
end
fprintf('The %d iteration:\n',count);
w
if num >= N
break;
end
end
if num >=N
break;
end
for i=1:size(x2,2)
count = count + 1;
if w*x2(:,i)-theta > 0
num = num+1;
else
num = 0;
w = w + eita*x2(:,i)';
end
fprintf('The %d iteration:\n',count);
w
if num >= N
break;
end
end
end
fprintf('Iteration is finished.\nThe result is:\n');
w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -