%% 创建一个感知器,用来判断输入数字的符号,非负数输出1,负数输出0,用train进行训练
p=[-100,100]; % 输入数据是标量,取值范围-100~100
t=1 ; % 网络含有一个输出节点
net=newp(p,t); % p数据范围,t神经网路的个数 单层感知器相关函数
P=[-5,-4,-3,-2,-1,0,1,2,3,4] ; %训练集
T=[0,0,0,0,0,1,1,1,1,1] ; % 训练输出,负数输出0,非负数输出1
net=train(net,P,T); % 训练
newP=-10:.2:10; % 测试集
newT=sim(net,newP); % 测试输出值
plot(newP,newT,‘LineWidth’,3);
title(‘判断数字符号的感知器’);
%% sim函数的用法
net=newp([-2,2;-2,2],1); % 创建一个感知器,有2个输入节点,1个输出节点
P=[0,0,1,1;0,1,0,1]; % 输入向量
T=[0,0,1,1]; % 期望输出
net=train(net,P,T); % 训练
Y=sim(net,P) ; % 仿真
Y=net(P);
Y =
0 0 1 1
%% hardlim:-1用0代替 传递函数
figure;
subplot(2,1,1);
n = -5:0.01:5;
plot(n,hardlim(n),‘LineWidth’,2); % hardlim函数值
subplot(2,1,2);
plot(n,hardlims(n),‘r’,‘LineWidth’,2) % hardlims函数值
title(‘hardlims’);
subplot(2,1,1);
title(‘hardlim’);