资源简介
由BP神经网络完成PID参数自适应,这是其中由M文件编写的S函数
代码片段和文件信息
function [sysx0strts]=my_exppidf(txuflag)
switch flag
case 0
[sysx0strts]=mdlInitializeSizes;
case 2
sys=mdlUpdates(xu);
case 3
sys=mdlOutputs(txu);
case {149}
sys=[];
otherwise
error([‘unhandled flag=‘num2str(flag)]);%异常处理
end
function[sysx0strts]=mdlInitializeSizes
sizes=simsizes;%用于设置模块参数的结构体用simsizes来生成
sizes.NumContStates=0;%模块连续状态变量的个数
sizes.NumDiscStates=3;%模块离散状态变量的个数
sizes.NumOutputs=4;%模块输出变量的个数
sizes.NumInputs=7;%模块输入变量的个数
sizes.DirFeedthrough=1;%模块是否存在直接贯通,1表示存在直接贯通,若为0,则mdlOutputs函数里不能有u
sizes.NumSampleTimes=1;%模块的采样时间个数至少是一个
sys=simsizes(sizes);%设置完后赋给sys输出
x0=zeros(31);%系统状态变量设置
str=[];
ts=[0.1 0];%采样周期设为0表示是连续系统,% ts=[0.001 0];%采样周期设为0表示是连续系统,
function sys=mdlUpdates(xu)
T=0.001;
x=[u(5);x(2)+u(5)*T;(u(5)-u(4))/T];%3个状态量(偏差、偏差和以及偏差变化量),u(5)是偏差,u(4)是上一次的偏差,x(2)则是之前的偏差和
sys=[x(1);x(2);x(3)];
function sys=mdlOutputs(txu)
xite=0.2;
alfa=0.05;
IN=3;H=5;OUT=3;
Oh=zeros(51);%产生一个1*5的零矩阵(行矩阵)
I=Oh;
xi=[u(1)u(3)u(5)];%神经网络训练的3个输入,期望值、误差以及实际值
epid=[x(1);x(2);x(3)];%3个状态变量(偏差、偏差和、偏差变化量)(3*1矩阵,列向量)
I=xi*wi‘;%隐层的输入
相关资源
-
simuli
nk\\模糊算法半主动悬架控制 - 使用bp神经网络进行分布式光伏出力预
- Lorenz系统和Chua系统MATLAB仿真
-
动态电压恢复器simuli
nk仿真 - Boost升压斩波电路仿真.rar
- 有详细源码的s函数电机建模与仿真
-
Z源逆变器simuli
nk仿真模型IR14格式 - Matlab用梯度下降算法开发的rbf神经网
-
原创有源电力滤波器simuli
nk仿真模型 -
MATLAB SIMUli
nk建模与仿真精讲.part28 - 网上找的BP神经网络算法程序和大家分
-
花了一下午simuli
nk中对同个一级倒立 -
APF中的谐波检测的SIMUli
nk仿真-APF1 - 基于蚁群算法和神经网络匹配算法的
- 原创毕业设计完工贴出来和大家分享
- matlab开发-多层反向传播神经网络
- matlab开发-SelfTuningRegulatorsSTR
-
锁相放大器的simuli
nk实现 - 基于查表发的电动汽车用永磁同步电
- 基于Simuink的移相全桥DC/DC变换器
- PSO优化RBFNN的MATLAB源代码
-
基于simuli
nk的s-function的PWM生成.rar - 基于bp神经网络的变压器故障检测
-
卡尔曼滤波器在simuli
nk 中的实现 -
基于matlab的simuli
nk实现2ask2fsk2psk的数 - 基于PR调节器的单相PWM整流器的simul
- 三相桥式整流电路
-
异步电机闭环控制simuli
nk模型和C程 -
33637《MATLAB-Simuli
nk电力系统建模与仿 - 计算机控制系统密闭空间的温湿度控
评论
共有 条评论