基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果

基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果

ID:11148301

大小:64.00 KB

页数:5页

时间:2018-07-10

基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果_第1页
基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果_第2页
基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果_第3页
基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果_第4页
基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果_第5页
资源描述:

《基于bp神经网络的系统建模辨识与预测仿真matlab程序及仿真结果》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、%BP神经网络用于系统辨识训练预测程序clearallclc%产生随机序列作为系统输入A=6;x0=1;M=255;f=2;N=60;Q=2*N/3;H=N-Q-1;%初始化fork=1:Nx2=A*x0;%分别用x2和x0表示xi和xi-1x1=mod(x2,M);%x2除以M的余数给x1v1=x1/256;%x1除以256得到小于1的随机数给v1ifv1-0.5>=0u(:,k)=v1*f-1;%如果随机数v1大于0.5,就乘以系数f减去1,将结else%果存于U的第k列中u(:,k)=v1-1;%不满足条件的运算结果存于矩阵U中endx0=x1;%x

2、i-1=xiv0=v1;%vi-1=viendz=zeros(1,N);%输出长度v=rand(1,N);%随机噪声fork=3:Nz(k)=1.5*z(k-1)-0.7*z(k-2)+1.1*u(k-1)+0.3*u(k-2)-v(k-1)+0.2*v(k-2);end%理想输出作为观察值fork=1:N-2hl(k,:)=[-z(k+1),-z(k),u(k+1),u(k),v(k+1),v(k)];%样本矩阵HL赋值zl(k)=z(k+2);%给样本矩阵ZL赋值endHL=(hl-min(min(hl)))/(max(max(hl))-min(min

3、(hl)));%数据归一化ZL=(zl-min(zl))/(max(zl)-min(zl));%数据归一化p=HL(1:Q,:);%训练样本输入p1=HL(Q:N-2,:);%测试样本输入b1=ones(Q,1);b2=ones(H,1);%初始化P=[p,b1];%增广训练样本P1=[p1,b2];%增广测试样本T=ZL(1,1:Q)';%训练样本理想输出T1=ZL(1,Q:N-2)';%测试样本理想输出inputNums=6;%网络输入层节点数outputNums=1;%网络输出层节点数hideNums=10;%网络隐层节点数lc=0.03;%学习率m

4、ax_epoch=3000;%最大循环次数error_goal=0.00001;%期望误差最小值B1=randn(1,hideNums);%输入层到隐含层的阈值初始化B2=randn(1,outputNums);%隐含层到输出层的阈值初始化w1=randn(inputNums,hideNums);%输入层到隐含层的权值初始化w2=randn(hideNums,outputNums);%隐含层到输出层的权值初始化W1=[w1;B1];%输入层到隐含层的增广权矩阵W2=[w2;B2];%隐含层到输出层的增广权矩阵error=zeros(1,max_epoch)

5、;%训练误差%训练样本集P对BP神经网络进行训练fork=1:max_epochfori=1:Q%单个样本的输入forj=1:hideNumsnet=P(i,:)*W1(:,j);%隐含层神经元的输入y(i,j)=1/(1+exp(-net));%隐含层输出endY(i,:)=[y(i,:),1];%带阈值隐含层输出forj=1:outputNumsnet=Y(i,:)*W2(:,j);%输出层神经元的输入O(i,j)=1/(1+exp(-net));%输出层输出endE=T(i)-O(i);%单个样本训练误差SSE=0.5*E^2;%均方误差ifSSE>

6、=error_goalforc=1:hideNumsforj=1:outputNumsDW2(c,j)=(T(i,j)-O(i,j))*O(i,j)*(1-O(i,j));%输出层误差偏导W2(c,j)=W2(c,j)+lc*DW2(c,j)*Y(i,c);%输出层权值阈值的调整sumDW1=0;sumDW1=sumDW1+W2(c,j)*DW2(c,j);%输出层对前一层的误差endendform=1:inputNumsforn=1:hideNumsDW1(m,n)=Y(i,n)*(1-Y(i,n))*sumDW1;%隐含层误差偏导W1(m,n)=W1(

7、m,n)+lc*DW1(m,n)*P(i,m);%隐含层权值阈值的调整endendendende=T-O;error(:,k)=sumsqr(e)/(2*Q);%样本集训练误差endw1=W1(1:inputNums,:)%输入层到隐含层的权值B1=W1(end,:)%输入层到隐含层的阈值w2=W2(1:hideNums,:)%隐含层到输出层的权值B2=W2(end,:)%隐含层到输出层的阈值%测试样本集P1用于BP神经网络预测fori=1:Hforj=1:hideNumsnet=P1(i,:)*W1(:,j);%隐含层的输入y(i,j)=1/(1+exp

8、(-net));%隐含层神经元输出endY(i,:)=[y(i,:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。