资源简介
S函数写的PID控制程序和控制对象,效果过得去,仅供学习交流。
代码片段和文件信息
function [sysx0strtssimStateCompliance] = sfunction_object(txuflag)
switch flag
case 0
[sysx0strtssimStateCompliance]=mdlInitializeSizes;
case 1
sys=mdlDerivatives(txu);
case 2
sys=mdlUpdate(txu);
case 3
sys=mdlOutputs(txu);
case 4
sys=mdlGetTimeOfNextVarHit(txu);
case 9
sys=mdlTerminate(txu);
otherwise
DAStudio.error(‘Simulink:blocks:unhandledFlag‘ num2str(flag));
end
function [sysx0strtssimStateCompliance]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);
x0 = [0 0];
str = [];
ts = [0 0]; %对应纯连续系统
simStateCompliance = ‘UnknownSimState‘;
function sys=mdlDerivatives(txu) %连续系统计算导数
sys(1) = x(2); %对应于系统的状态空间方程式
sys(2) = -(25+10*rands(1))*x(2)+(133+30*rands(1))*u; %把计算得出的导数向量赋值给sys变量
function sys=mdlUpdate(txu) %更新离散系统状态
sys = []; %本例为连续时间系统,该部分代码无需修改
function sys=mdlOutputs(txu)
sys = x(1);
function sys=mdlGetTimeOfNextVarHit(txu) %该子程序只在离散采样系统有用
sampleTime = 1; % Example set the next hit to be one second later.
sys = t + sampleTime;
function sys=mdlTerminate(txu)
sys = [];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14165 2018-11-16 16:33 Main.slx
文件 1478 2018-10-23 09:50 sfunction_ob
文件 1397 2018-10-23 10:17 sfunction_pid.m
----------- --------- ---------- ----- ----
17040 3
相关资源
- PID控制Matalb经典算法
- PID算法控制直流电机转速仿真与C程序
- 研究论文-基于线性二次型调节器的神
- 永磁同步电机模糊PID控制-sl10.slx
- 论文研究-基于卡尔曼滤波与PID控制的
- PID计算器.zip
- 西门子STEP7PID程序
- AXI-SRIO模块在Vivado中连接示意图
- C51 PID PWM调速程序
- 经典的电机的速度PID控制程序.rar
- 数字pid与开关电源
- PCS7-PID调节块使用详解.pdf
- 模糊控制与传统PID控制比较
- PID在LabView中的实现
- PID-小车类-PID算法控制小车直线行驶制
- 倒立摆 51PID程序 已经实现
- qt 内建PID模拟仿真
- 基于labview的温度自动控制PID算法
- 模糊PID详解及自整定
- 基于8086的小型直流电机闭环调速系统
- 基于8086的小型直流电机闭环调速系统
- pandas函数汇总
- DSP28335的PID程序
- CrawlSpider豆瓣图书爬虫
- 一级倒立摆的PID控制设计
- 电机PID控制
- pid_simulator
- 基于仿真的PID控制器参数优化
- labview 的PID实验程序
- 组态软件MCGS的PID程序
评论
共有 条评论