⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bp源程序.m

📁 用MATLAB编写的小程序
💻 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分别为隐层和输出层的变换函数;
%这样可得隐层和输出层的初始权值和阈值w1,b1,w2,b2。
[w1,b1,w2,b2]=initff(p,4,'tansig',1,'Purelin');

% BP网络的训练;
%利用BP学习规则训练前向网络,使其完成函数逼近,矢量分类和模式识别,选择训练参数印
%并指示如何进行训练。
%一旦训练达到最大的训练次数或网络误差平方和降低到误差之下,都会使网络停止学习。
tp(1)=10; %指定两次更新显示间的训练次数;
tp(2)=1000; %指定训练的最大次数;
tp(3)=0.01; %误差平方和指标;
tp(4)=0.01; %指定学习速率,即权值和阈值更新的比例;
tp=[tp(1) tp(2) tp(3) tp(4)];
[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,'tansig',w2,b2,'Purelin',p,t,tp);
% 画出误差变化曲线
figure(1)
plot([0:1:te],tr)
% 计算网络仿真输出;
a=simuff(p,w1,b1,'tansig',w2,b2,'Purelin');
figure(2)
plot([0:0.01:2.9],t,'+',[0:0.01:2.9],a,'-')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -