資源簡介
使用simulink和matlab一起搭建的非線性自抗擾控制器,按照韓京清老師《自抗擾控制技術(shù)》中264頁的第一個擾動函數(shù)來搭建的,系統(tǒng)也是那一頁的系統(tǒng)。對大家了解自抗擾技術(shù),熟悉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時進行整個系統(tǒng)的初始化
%==============================================================
function?[sysx0strts]?=?mdlInitializeSizes(tux)
%?首先調(diào)用simsizes函數(shù)得出系統(tǒng)規(guī)模參數(shù)sizes?并根據(jù)離散系統(tǒng)的實際
%?情況設(shè)置sizes變量
sizes?=?simsizes;
sizes.NumContStates?=?0;?%?連續(xù)狀態(tài)數(shù)為0
sizes.NumDiscStates?=?0;?%?離散狀態(tài)數(shù)為0
sizes.NumOutputs?=?1;????%?輸出路數(shù)為1
sizes.NumInputs?=?5;?????%?輸入路數(shù)為5
sizes.DirFeedthrough?=?1;%?輸入在輸出中直接顯示出來,注意不能將其設(shè)置為0
sizes.NumSampleTimes?=?1;
sys?=?simsizes(sizes);
x0?=?[];?%?設(shè)置初始狀態(tài)為零狀態(tài)
str?=?[];?%?將str變量設(shè)置為空字符串
ts?=?[-1?0];?%?采樣周期:?[period?offset]
%==============================================================
%?在主函數(shù)flag=3時,計算系統(tǒng)的輸出變量
%==============================================================
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
評論
共有 條評論