📄 11.m
字号:
% 定义样本
t=0:0.01:10;
y=randn(size(t));
yn=sin(y);
p=y(1:30)
t=yn(1:30)
% 初始化BP网络
% 其中,p为输入量,隐层结点数为4,输出层结点数为1
% tansig和purelin分别为隐层和输出层的变换函数
% 训练算法为trainlm
net=newff(minmax(p),[4,1],{'tansig','purelin'},'trainlm');
% BP网络的训练
% 利用BP学习规则训练前向网络,使其完成函数逼近、矢量分类和模式识别,选择训练参数,
% 并指示如何进行训练
% 一旦训练达到最大的训练次数或网络误差平方和降低到误差之下,都会使网络停止学习
% 指定两次更新显示间的训练次数
net.trainParam.show = 10;
% 指定训练的最大次数
net.trainParam.epochs = 1000;
% 误差平方和指标
net.trainParam.goal=0.001;
% 指定学习速率,即权值和阈值更新的比例
net.trainParam.lr = 0.01;
%开始训练
[net,tr] = train(net,p,t);
% 画出误差变化曲线
figure(1);
plotperf(tr);
% 计算网络仿真输出
a=sim(net,p);
figure(2);
plot([0:0.01:29],t,'-+',[0:0.01:2.9],a,'-*');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -