资源简介
实现BP神经网络自动控制PID三个参数,并用附加动量项和自学习速率法来改进BP神经网络容易掉入局部极小值的缺点
代码片段和文件信息
clear all;
close all;
xite_1=0.2;
alfa=0.95;
IN=4;H=5;Out=3;
wi=[-0.6394 -0.2696 -0.3756 -0.7023;
-0.8603 -0.2013 -0.5024 -0.2596;
-1.0000 0.5543 -1.0000 -0.5437;
-0.3625 -0.0724 0.6463 -0.2859;
0.1425 0.0279 -0.5406 -0.7660
]; %隐含层加入按系数初始化
wi_1=wi;wi_2=wi;wi_3=wi;
wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325 ;
-0.1146 0.2949 0.8352 0.2205 0.4508 ;
0.7201 0.4566 0.7672 0.4962 0.3632 ]; %输出层加权系数初始化s
wo_1=wo;wo_2=wo;wo_3=wo;
ts=40%采样周期取值
x=[000]; %比例、积分、微分初值
u_1=0.0;u_2=0.0;u_3=0.0;u_4=0;u_5=0;
y_1=0.0;y_2=0.0;y_3=0;
Oh=zeros(H1);%隐含层的输出
I=Oh; %隐含层的输入
error_2=0;
error_1=0;
de_1=0;
sys=tf(1.2[208 1]‘inputdelay‘80);%建立被控对象的传递函数
% sys=tf([5][8 1]‘inputdelay‘80);%建立被控对象的传递函数
dsys=c2d(systs‘zoh‘);%把传递函数离散化
[numden]=tfdata(dsys‘v‘);%离散化后提取分子、分母
for k=1:1:500 %仿真开始 共1000步
time(k)=k;
rin(k)=1.0;
if(k==250)
rin(k)=2.0;
end
yout(k)=-den(2)*y_1+num(2)*u_5;
error(k)=rin(k)-yout(k);
xi=[rin(k)yout(k)error(k)5];
x(1)=error(k)-error_1; %比例输出
x(2)=error(k);%积分输出
x(3)=error(k)-2*error_1+error_2;%微分输出
epid=[x(1);x(2);x(3)];
I=xi*wi‘; %隐含层的输入,即输入层输入*权值
for j=1:1:H
Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));%在激活函数作用下隐含层的输出
end
K=wo*Oh; %输出层的输入,即隐含层的输出*权值
for l=1:1:Out
K(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));%输出层的输出,即PID三个参数
end
kp(k)=K(1);ki(k)=K(2);kd(k)=K(3);
Kpid=[kp(k)ki(k)kd(k)];
du(k)=Kpid*epid;
u(k)=u_1+du(k);
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end
de(k)=error(k)-error_1;
if(de(k)>(de_1*1.04))
xite(k)=0.7*xite_1;
% alf
- 上一篇:图像骨架提取细化
- 下一篇:带有GUI设计的扩频通信Matlab代码.zip
相关资源
- MATLAB实现基于BP神经网络英文字母识别
- bp神经网络数字识别
- 基于BP神经网络的手写体数字识别
- 遗传算法优化BP神经网络matlab程序
-
S函数的RBF神经网络PID控制器Simuli
- 自顶向下基于DSPBuilder的PID控制系统开
- 基于cmac的pid控制matlab程序
- 使用PSO算法进行PID控制器的整定matl
- 一级倒立摆系统的PID控制MATLAB仿真程
- SNN-STLAPID.m
-
基于BP神经网络PID控制器及Simuli
nk仿 - 遗传算法优化的BP神经网络 - MATLAB源码
- 基于MATLAB的BP神经网络的臭氧总量预测
-
Simuli
nk仿真_遗传算法PID控制 - BP神经网络用于轴承故障分类
- BP神经网络多分类
- 自适应pid控制器设计及其在matlab中的
- 单神经元自适应PID控制器的研究及M
- 基于BP神经网络的自整定PID控制仿真
- 粒子群算法优化BP神经网络权值的程序
-
MATLAB PID simuli
nk - 遗传优化的BP网络代码MATLAB
- PID算法Matlab仿真程序和C程序[doc.xueh
- PID控制程序 matlab
- 利用PSO训练BP神经网络的matlab代码
- 业界良心版BP神经网络分类MATLAB代码
- 一阶惯性延迟系统的PID自整定
- 模糊PID控制和专家PID控制matlab仿真程
- bp神经网络matlab代码82083
- bp神经网络的车牌识别M文件
评论
共有 条评论