• 大小: 0.16M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: 其他
  • 标签: 其他  

资源简介


本资源为基于BP神经网络的PID连续控制系统Simulink仿真模型,BP神经网络学习算法通过S-function函数编写,各个参数已调好,可完美运行。如有怀疑,请浏览我的博客:基于BP神经网络PID控制+Simulink仿真 地址:https://blog.csdn.net/weixin_42650162/article/details/90678503

资源截图

代码片段和文件信息

function [sysx0strtssimStateCompliance] = nnbp(txuflagTnhxitealfa)
switch flag
  case 0
    [sysx0strtssimStateCompliance]=mdlInitializeSizes(Tnh);
%初始化函数
  case 3
    sys=mdlOutputs(txunhxitealfa);
%输出函数
  case {1249}
    sys=[];
  otherwise
    DAStudio.error(‘Simulink:blocks:unhandledFlag‘ num2str(flag));
end
function [sysx0strtssimStateCompliance]=mdlInitializeSizes(Tnh)
%调用初始画函数,两个外部输入参数 参数T确定采样时间,参数nh确定隐含层层数
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 4+6*nh;
%定义输出变量,包括控制变量u隐含层+输出层所有加权系数
sizes.NumInputs      = 7+12*nh;
%定义输入变量,包括前7个参数[e(k);e(k-1);e(k-2);y(k);y(k-1);r(k);u(k-1)]
%隐含层+输出层权值系数(k-2)隐含层+输出层权值系数(k-1)
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; 
sys = simsizes(sizes);
x0  = [];
str = [];
ts  = [T 0];
simStateCompliance = ‘UnknownSimState‘;
function sys=mdlOutputs(txunhxitealfa)
%调用输出函数
wi_2 = reshape(u(8:7+3*nh)nh3);
%隐含层(k-2)权值系数矩阵,维数nh*3
wo_2 = reshape(u(8+3*nh:7+6*nh)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17502  2019-05-30 11:09  BP_PID.slx

     文件     158986  2019-05-30 11:15  Help.docx

     文件       2608  2019-05-30 10:35  nnbp.m

----------- ---------  ---------- -----  ----

               179096                    3


评论

共有 条评论