function [sys,x0,str,ts] = nnsfunction(t,x,u,flag,deltak)
switch flag,
case 0,%初始化函数
[sys,x0,str,ts]=mdlInitializeSizes;
case 2,%离散状态更新函数
sys = mdlUpdate(t,x,u,deltak);
case 3,%计算输出函数
sys = mdlOutputs(t,x,u);
case {1,4,9},%未定义的flag值
sys = [];
otherwise %出错处理函数
error(['Unhandled flag =',num2str(flag)]);
end
%%%%%%%%——模型初始化——%%%%%%%%%
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;%读取系统变量的默认值值
sizes.NumContStates = 0; %系统没有连续变量
sizes.NumDiscStates = 3; %系统有3个离散变量,为系统的权值
sizes.NumOutputs = 4; %系统有4个输出变量,分别为控制率和归一化的权值
sizes.NumInputs = 4; %系统有4个输入变量,分别为误差的3个时刻值即控制率
sizes.DirFeedthrough = 1; %输入信号直接在输出中反映出来
sizes.NumSampleTimes = 1; %系统只有1个采样时间
sys = simsizes(sizes);%设置系统模型变量
x0 = [0.3*rand(3,1)];%在此定义系统状态变量的初始值,设置成随机数
str = [];
ts = [-1 0];%继承输入变量的采样时间
%%%%%%%%——状态更新函数——%%%%%%%%
function sys=mdlUpdate(t,x,u,deltak)
sys = x+deltak*u(1)*u(4)*(2*u(1)-u(2));
%%%%%%%——计算输出信号函数——%%%%%%%
function sys=mdlOutputs(t,x,u)
xx = [u(1)-u(2) u(1) u(1)+u(3)-2*u(2)];
sys=[u(4)+0.12*xx*x/sum(abs(x));x/sum(abs(x))];
SingleNeuronPIDController.rar_neuron matlab_pid_pid参数调整_单神经元_单神经
版权申诉
37 浏览量
2022-07-14
21:12:47
上传
评论
收藏 8KB RAR 举报
JonSco
- 粉丝: 72
- 资源: 1万+
最新资源
- 批量word文件内容替换工具1.0 (批量实现多个 Word 文档文件文字替换利器).exe
- Cartoon GUI Pack 1.2.zip
- 【数据集和代码】基于加速度传感器的步态识别行人分类实验(可做步态识别)
- 我分享个魔兽内存修改器
- Python毕业设计基于Django的网易云数据分析可视化大屏系统的设计与实现+使用说明+全部资料(优秀项目).zip
- mp3 idv2,idv1,frame分析工具
- Python毕业设计基于Django的网易云数据分析可视化大屏系统的设计与实现+使用说明+全部资料(高分项目).zip
- 人工兔优化算法ARO MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用
- 人才网站设计-asp.net+sql-(系统源码)
- asp.net+sql人才网站设计-含系统源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈