matlab 单层神经网络程序

%% 创建一个感知器,用来判断输入数字的符号,非负数输出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’);
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值