BP网络的MATLAB仿真.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

BP网络的MATLAB仿真样本%bp1;例4.1P=-1:0.1:1;P2=-1:0.1:1;T=[-0.96-0.577-0.07290.3770.6410.660.4610.1336...-0.201-0.434-0.5-0.393-0.16470.09880.3072...0.3960.34490.1816-0.0312-0.2183-0.3201];plot(P,T,'r+');P=-1:0.1:1;P2=-1:0.1:1;T=[-0.96-0.577-0.07290.3770.6410.660.4610.1336...-0.201-0.434-0.5-0.393-0.16470.09880.3072...0.3960.34490.1816-0.0312-0.2183-0.3201];plot(P,T,'r+');[R,Q]=size(P);[S2,Q]=size(T);S1=5;[W1,B1]=rands(S1,R);[W2,B2]=rands(S2,S1);b1=[];b2=[];b1=B1*ones(1,21);b2=B2*ones(1,21);a2=W2*tansig(W1*P2+b1)+b2;A2=purelin(a2);holdonplot(P,A2)holdoffdisp('按任一键继续')pause[R,Q]=size(P);S1=5;[S2,Q]=size(T);[W1,B1]=rands(S1,R);•rands(S1,R);可得到一个S1*R的矩阵,其元素为(-1,1)均匀分布随机数,•[w,b]=rands(S1,R)可得到一个S1*R矩阵和S1*1列矢量b,其元素为(-1,1)均匀分布随机数,•[W1,B1]=rands(S1,R);[W2,B2]=rands(S2,S1);得到W1:S1×R矩阵,输入层的权值矩阵W2:S2×S1矩阵,输出层的权值矩阵及两个列向量B1:S1*1B2:S2*1[W2,B2]=rands(S2,S1);b1=[];b2=[];空矩阵b1=B1*ones(1,21);•b1=B1*ones(1,21);•把列向量B1的每一行扩展成1×21向量,数值重复,b2=B2*ones(1,21);a2=W2*tansig(W1*P2+b1)+b2;tansigisatransferfunction.Transferfunctionscalculatealayer'soutputfromitsnetinput.计算网络输出A2=purelin(a2);purelinLineartransferfunction网络初始输入输出关系创建并训练网络net=newcf(minmax(P),[5,1],{'tansig','purelin'},'traingd');%创建两层前向回馈网络net.trainParam.epochs=7000;%初始化训练次数net.trainParam.goal=9.5238e-004;%sse=0.02%初始化误差值net.trainParam.lr=0.15;[net,tr]=train(net,P,T);%训练网络Y=sim(net,P);%计算结果plot(P,Y,'r-')holdplot(P,T,'r+');holdoff仿真完成

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功