基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱

简介: 基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱

1.算法描述

   神经控制器在在实时控制系统中起着“大脑”的作用。神经网络具有自学习和自适应等智能特点,因而非常适用于控制器设计。对于复杂非线性系统,神经控制器所取得的控制效果往往明显优于常规控制器。近年来,神经控制器在工业、航空及机器人等领域控制系统的应用中已经取得许多成就。

   神经控制器与古典控制器和现代控制器相比,有优点也有缺点。
   优点是神经控制器的设计与被控制对象的数学模型无关,这是神经控制器的最大优点,也是神经网络能够在自动控制中立足的根本原因。
   缺点是神经网络需要在线或离线开展学习训练,并利用训练结果进行系统设计。这种训练在很大程度上依赖训练样本的准确性,而训练样本的选取依旧带有人为的因素。

  模型预测控制的第一阶段是训练神经网络来表示被控对象的前向动态。被控对象输出和神经网络输出之间的预测误差用作神经网络训练信号。该过程如下图所示:

image.png

   神经网络被控对象模型使用先前的输入和先前的被控对象输出来预测被控对象输出的将来值。下图给出了神经网络被控对象模型的结构。  

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png
image.png

3.MATLAB核心程序

traindatanum=500; 
testdatanum=500; 
 
u=rands(1,alldatanum+10); 
y=zeros(1,alldatanum+10); 
for i=3:alldatanum+2 
    y=dlsim(numd,dend,u); 
end 
 
alldatain=[]; 
alldataout=[]; 
for i=3:alldatanum+2 
    newin=[u(i-1);y(i-1);u(i-2);y(i-2)]; 
    alldatain=[alldatain newin]; 
    alldataout=[alldataout y(i)]; 
end 
 
traindatain=alldatain(:,1:traindatanum); 
traindataout=alldataout(:,1:traindatanum); 
testdatain=alldatain(:,traindatanum+1:alldatanum); 
testdataout=alldataout(:,traindatanum+1:alldatanum); 
 
figure 
hold on 
grid 
j=traindatanum+1:alldatanum 
plot(j,testdatain,'k-') 
xlabel('input t'); 
ylabel('output u'); 
 
figure 
hold on 
grid 
j=traindatanum+1:alldatanum 
plot(j,testdataout,'b-') 
xlabel('input t'); 
ylabel('output y'); 
 
indim=4; 
outdim=1; 
hiddenunitnum=10; 
maxepochs=10000; 
E0=0.000001; 
 
center=1*rand(indim,hiddenunitnum)-0.5; 
sp=0.2*rand(1,hiddenunitnum)+0.1; 
w=0.2*rand(1,hiddenunitnum)-0.1; 
 
lrcent=0.001; 
lrsp=0.001; 
lrw=0.001; 
相关文章
|
12天前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
|
12天前
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
12天前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
9天前
|
算法 新能源 测试技术
基于PID控制器和电流控制器的电池充电比较研究(Matlab代码实现)
基于PID控制器和电流控制器的电池充电比较研究(Matlab代码实现)
|
9天前
|
算法 数据挖掘 区块链
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
|
11天前
|
数据采集 新能源 调度
【Copula】基于二元Frank-Copula函数的风光出力场景生成方法【考虑风光出力的不确定性和相关性】(Matlab代码实现)
【Copula】基于二元Frank-Copula函数的风光出力场景生成方法【考虑风光出力的不确定性和相关性】(Matlab代码实现)
|
12天前
|
Serverless Python
【三变量联合分布函数copula】利用AIC BIC确定单变量最优拟合函数、利用AIC确定三变量联合最优copula函数、计算联合概率(Matlab代码实现)
【三变量联合分布函数copula】利用AIC BIC确定单变量最优拟合函数、利用AIC确定三变量联合最优copula函数、计算联合概率(Matlab代码实现)
|
12天前
|
传感器 数据采集 存储
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
|
12天前
|
机器学习/深度学习 编解码 并行计算
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
|
12天前
|
机器学习/深度学习 数据采集 资源调度
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)

热门文章

最新文章