资源简介

使用simulink和matlab一起搭建的非线性自抗扰控制器,按照韩京清老师《自抗扰控制技术》中264页的第一个扰动函数来搭建的,系统也是那一页的系统。对大家了解自抗扰技术,熟悉simulink都有一定帮助。

资源截图

代码片段和文件信息

function [sysx0strts]=ctrl(txuflagrh1cb)

switch flag
case 0
   [sysx0strts] = mdlInitializeSizes(tux); % 初始化
case 3
   sys = mdlOutputs(txurh1cb); % 输出量的计算
case { 1249 }
   sys = []; % 未使用的flag值
otherwise
   error([‘Unhandled flag = ‘num2str(flag)]); % 处理错误
end;
%==============================================================
% 当flag为0时进行整个系统的初始化
%==============================================================
function [sysx0strts] = mdlInitializeSizes(tux)
% 首先调用simsizes函数得出系统规模参数sizes 并根据离散系统的实际
% 情况设置sizes变量
sizes = simsizes;
sizes.NumContStates = 0; % 连续状态数为0
sizes.NumDiscStates = 0; % 离散状态数为0
sizes.NumOutputs = 1;    % 输出路数为1
sizes.NumInputs = 5;     % 输入路数为5
sizes.DirFeedthrough = 1;% 输入在输出中直接显示出来,注意不能将其设置为0
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = []; % 设置初始状态为零状态
str = []; % 将str变量设置为空字符串
ts = [-1 0]; % 采样周期: [period offset]
%==============================================================
% 在主函数flag=3时,计算系统的输出变量
%==============================================================
function sys = mdlOutputs(txurh1cb)
e1 = u(1)-u(3);   %位置误差
e2 = u(2)-u(4);   %速度误差
u0 = - fhan(e1c*e2rh1);
% sys=u0;
sys=u0-u(5)/b;
function f = fhan(e1e2rh1)
d = r * h1^2;
a0  = h1 * e2;
y = e1 + a0;
a1 = sqrt((d + 8*abs(y)) * d);
a2 = a0 + sign(y) * (a1 - d)/2;
a = (a0 + y) * (sign(y + d) - sign(y - d)) / 2 + a2 * (1 - (sign(y + d) - sign(y - d)) / 2);
f = -r *(a / d) * (sign(a + d) - sign(a - d)) / 2 - r * sign(a) * ( 1 - (sign(a + d) - sign(a - d)) / 2);

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

     文件       1714  2018-11-06 20:07  ADRC_P264FIRST\ctrl.m

     文件     196136  2018-12-10 13:04  ADRC_P264FIRST\Disturb.mat

     文件       1792  2018-11-06 20:22  ADRC_P264FIRST\eso3.m

     文件     196136  2018-12-10 13:04  ADRC_P264FIRST\estDisturb.mat

     文件        513  2018-11-06 22:22  ADRC_P264FIRST\main.m

     文件      24528  2018-12-10 13:05  ADRC_P264FIRST\p264Fsystem.slx

     文件      23092  2018-11-06 18:17  ADRC_P264FIRST\p264Fsystem.slx.r2014b

     文件         11  2018-11-07 20:32  ADRC_P264FIRST\startup.m

     文件       1615  2018-11-06 19:59  ADRC_P264FIRST\td.m

     目录          0  2018-12-10 13:05  ADRC_P264FIRST

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

               445537                    10


评论

共有 条评论