資源簡介
使用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
評論
共有 條評論