资源简介
神经网络模型预测控制器
代码片段和文件信息
clear;
N=6;%预测长度
%NNI初始化
aa=0.1;%学习速率
x=[00]‘;%NNI输入向量 辨识网络
w1=0.1*ones(62);
w2=ones(16);
b1=ones(61);
b2=ones(11);
ts=0.01;%采样时间间隔
%NNC初始化 控制网络,不,采用是神经网络PID控制器
lr=0.1;%学习速率
w_1=0.1*rand(8N);
w_2=rand(38);
b_1=ones(81);
b_2=ones(31);
Ki=0;
Kp=0;
Kd=0;
cr=0.01;%控制增量权重
xx=zeros(N1);%NNC输入向量
%NNI离线训练
for k=1:1000
y(1)=0;
yn(1)=0;
u(k)=0.50*sin(3*2*pi*k*ts);
a(k)=1.2*(1-0.8*exp(-0.1*k));
y(k+1)=a(k)*y(k)/(1+y(k)^2)+u(k);%被控对象输出y
x(1)=u(k);
x(2)=y(k);
a1=tansig(netsum(w1*xb1));
yn(k+1)=purelin(netsum(w2*a1b2));%神经网络输出yn
e(k+1)=y(k+1)-yn(k+1);
if k>10&abs(e(k+1))<=0.001 %当误差小于0.001时,结束训练
break;
end
dw2=aa*e(k+1)*a1‘;
w2=w2+dw2;
db2=aa*e(k+1);
for j=1:6
df(j)=1-a1(j)^2;
end
for i=1:6
for j=1:2
dw1(ij)=aa*e(k+1)*w2(i)*df(i)*x(j);
end
end
for i=1:6
db1(i1)=aa*e(k+1)*w2(i)*df(i);
end
w1=w1+dw1;
b1=b1+db1;
end
%预测输出;
uu=zeros(21);%NNI输入向量
%yr=0.5*square(linspace(04*pi1000+N)); %参考信号,方波 N是预测长度
yr=sin(linspace(05*pi1000+N))+cos(linspace(03*pi1000+N)); %参考信号,正弦波
%yr=2*sin(linspace(04*pi1000+N));%设定值
for k_2=1:1000
time(k_2)=k_2*ts;
uc(1)=0;
yn_1(1)=0;%预测输出设初值
yr_1(1)=0;
a_a(k_2)=1.2*(1-0.8*exp(-0.1*k_2));
yr_1(k_2+1)=a_a(k_2)*yr_1(k_2)/(1+yr_1(k_2)^2)+uc(k_2);%被控对象输出
yn_1(k_2)=yr_1(k_2);
for j=0:1:N-1
uu(1)=uc(k_2);
uu(2)=yn_1(k_2+j);
a2=tansig(netsum(w1*uub1));
yn_1(k_2+j+1)=purelin(netsum(w2*a2b2));%预测模型输出
e_2(k_2+j+1)=yr(k_2+j+1)-yn_1(k_2+j+1);
xx(j+1)=e_2(k_2+j+1);
end
相关资源
- 基于模型预测控制的车辆轨迹跟踪问
- 无人驾驶车辆模型预测控制Matlab代码
- 无人驾驶车辆模型预测直线轨迹跟踪
- MMC-HVDC模型预测控制
- 模型预测控制算法及仿真
- 线性定常系统和线性时变系统的模型
- 模型预测控制系统的Matlab设计和实施
- 模型预测控制MPC程序
- MATLAB环境下的MPC源代码
- 对于双输入双输出系统的模型预测控
- 无人驾驶车辆模型预测控制+程序.ra
- 煤热解模型预测
-
传统两电平模型预测控制simuli
nk - 《无人驾驶车辆模型预测控制》matl
- 永磁同步电机模型预测控制仿真模型
- ARMA模型预测
- AR模型预测程序
- 无人驾驶车辆模型预测控制配套matl
- 模型预测控制程序
- matlab模型预测控制
- 三相逆变模型预测控制.rar
- 《无人驾驶车辆 模型预测控制》代码
- LQR路径跟踪.rar
- 《无人驾驶车辆模型预测控制》书中
- GM11灰色模型预测的matlab程序
- 无人驾驶车辆 模型预测控制陈慧妍源
- 模型预测控制MPC模型预测电流控制,
- 非线性模型预测控制算法程序
- 滚动时域优化RHCMATLAB源代码
-
模型预测simuli
nk
评论
共有 条评论