matlab 映射函数的区别,求解:如何用matlab设计BP神经网络实现非线性函数映射?我这写的对吗?...

求解:如何用matlab设计BP神经网络实现非线性函数映射?

3.1.2试设计BP神经网络实现非线性函数映射。

实验目的

掌握matlab软件环境下的BP网络设计,理解BP网络的非线性映射能力。

二、实验内容

用BP网络解决函数非线性映射问题:函数y=x1/2 ;  y=x2 ; y=sin(x)

三、实验步骤

(1)训练集可取{0.1、0.3、0.5、0.7、0.9、1};测试集可取:{0.2、0.4、0.6、0.8}

(2)根据问题的需要,利用matlab软件设计网络的隐层节点数和训练参数,开始训练;

(3)在预测输入窗口键入输入向量,考察预测输出窗口的输出与教师信号之间的偏差,考察BP网络是否可以实现函数非线性映射

我写的代码:

p=0.1:0.1:1;

t=sin(p);

[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);

net=newff(minmax(pn),[3,1],{'logsig','purelin'},'trainlm');

net.trainParam.show=20;

net.trainParam.epochs=2000;

net.trainParam.lr=0.1;

net.trainParam.goal=1e-4;

net.trainParam.mc=0.8;

[net,tr]=train(net,pn,tn);

tp=0.2:0.2:0.8;

[ttp]=tramnmx(tp,minp,maxp)%对测试数据进行归一化

Tp=sim(net,ttp)

Tp=postmnmx(Tp,mint,maxt); %对预测数据进行反归一化

plot(p,T,'r',tp,Tp,'o')%绘图

legend('测试期望值','测试仿真值')

这样是正确的吗?求指导,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值