資源簡介
一個用matlab的sumlink ADRC控制系統的仿真,可以正確運行

代碼片段和文件信息
function?[sysx0strts]=han_ctrl(txuflagaabet1bd)
switch?flag
case?0
???[sysx0strts]?=?mdlInitializeSizes(tux);?%?初始化
case?3
???sys?=?mdlOutputs(txuaabet1bd);?%?輸出量的計算
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(txuaabet1bd)
e1=u(1)-u(3);?e2=u(2)-u(4);?
u0=bet1(1)*fal(e1aa(1)d)+bet1(2)*fal(e2aa(2)d);
sys=u0-u(5)/b;
%==============================================================
%?用戶定義的子函數:?fal
%==============================================================
function?f=fal(ead)
if?abs(e) ???f=e*d^(a-1);
else
???f=(abs(e))^a*sign(e);
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1905??2001-08-29?12:14??源代碼\han_eso.m
?????文件???????1975??2001-10-30?19:49??源代碼\han_td.m
?????文件??????11420??2001-10-30?19:58??源代碼\ex_han2.mdl
?????文件???????1617??2001-08-29?12:16??源代碼\han_ctrl.m
?????文件???????3434??2008-05-15?08:26??源代碼\使用幫助:新手必看.htm
?????文件????????183??2008-09-03?11:09??源代碼\Matlab中文論壇--助努力的人完成畢業設計.url
?????目錄??????????0??2010-03-26?00:03??源代碼
-----------?---------??----------?-----??----
????????????????20534????????????????????7
- 上一篇:扇形束CT重建算法
- 下一篇:語音編碼Matlab代碼及其論文
評論
共有 條評論