資源簡介
RPC.rar

代碼片段和文件信息
function?[sysx0strts]?=?BPF_Tustin(txuflag)
%SFUNTMPL?General?M-file?S-function?template
%global?DT=2e-4;
switch?flag
??%%%%%%%%%%%%%%%%%%
??%?Initialization?%
??%%%%%%%%%%%%%%%%%%
??case?0
????[sysx0strts]=mdlInitializeSizes;
??%%%%%%%%%%%%%%%
??%?Derivatives?%
??%%%%%%%%%%%%%%%
??case?1
????sys=mdlDerivatives(txu);
??%%%%%%%%%%
??%?Update?%
??%%%%%%%%%%
??case?2
????sys=mdlUpdate(txu);
??%%%%%%%%%%%
??%?Outputs?%
??%%%%%%%%%%%
??case?3
????sys=mdlOutputs(txu);
??%%%%%%%%%%%%%%%%%%%%%%%
??%?GetTimeOfNextVarHit?%
??%%%%%%%%%%%%%%%%%%%%%%%
??case?4
????sys=mdlGetTimeOfNextVarHit(txu);
??%%%%%%%%%%%%%
??%?Terminate?%
??%%%%%%%%%%%%%
??case?9
????sys=mdlTerminate(txu);
??%%%%%%%%%%%%%%%%%%%%
??%?Unexpected?flags?%
??%%%%%%%%%%%%%%%%%%%%
??otherwise
????DAStudio.error(‘Simulink:blocks:unhandledFlag‘?num2str(flag));
end
%?end?sfuntmpl
%
%=============================================================================
%?mdlInitializeSizes
%?Return?the?sizes?initial?conditions?and?sample?times?for?the?S-function.
%=============================================================================
%
function?[sysx0strts]=mdlInitializeSizes
sizes?=?simsizes;
sizes.NumContStates??=?0;
sizes.NumDiscStates??=?5;
sizes.NumOutputs?????=?1;
sizes.NumInputs??????=?2;
sizes.DirFeedthrough?=?0;
sizes.NumSampleTimes?=?1;???%?at?least?one?sample?time?is?needed
sys?=?simsizes(sizes);
%
%?initialize?the?initial?conditions
%
x0??=?[0?0?0?0?0];
str?=?[];
ts??=?[-2?0];???%?inherited?sample?time????????
%?end?mdlInitializeSizes
function?sys=mdlDerivatives(txu)
sys?=?[];
%?end?mdlDerivatives
%=============================================================================
%?mdlUpdate
%?Handle?discrete?state?updates?sample?time?hits?and?major?time?step
%?requirements.
%=============================================================================
%
function?sys=mdlUpdate(txu)
DT=2e-4;
Wr=u(2);
K=0.065;%0.065
WrxDt=Wr*DT;
WrxDt_Sqr=WrxDt*WrxDt;
KxWrxDt=K*WrxDt;
Temp1=x(1)+x(1)-x(2);
%Temp2=x(3)-x(4)-x(1)+x(2);
Temp2=u(1)-x(3)-x(1)+x(2);
Temp3=KxWrxDt*Temp2;
Temp4=WrxDt_Sqr*x(2);
x(5)=Temp1+Temp3-Temp4;
%x(4)=x(3);
x(3)=u(1);
x(2)=x(1);
x(1)=x(5);
sys?=x;????????????%返回當前狀態變量值
%?end?mdlUpdate
%=============================================================================
%?mdlOutputs
%?Return?the?block?outputs.
%=============================================================================
%
function?sys=mdlOutputs(txu)
%?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sys=x(5);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%=============================================================================
%?mdlGetTimeOfNextVarHit
%?Return?the?time?of?the?next?hit?for?this?block.??Note?that?the?result?is
%?absolute?time.??Note?that?this?function?is?only?used?when?you?specify?a
%?variable?discrete-time?sample?time?[-2?0]?in?the?sample?time?array?in
%?mdlInitializeSizes.
%===
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3312??2017-04-11?15:55??RPC\LPF_Tustin.m
?????文件???????3905??2017-04-11?11:10??RPC\Rep_Ctrl.m
?????文件?????186013??2017-04-11?17:03??RPC\Full_bridgeRep.mdl
?????文件???????3443??2017-04-11?14:16??RPC\HPF_Tustin.m
?????文件???????3544??2017-01-15?20:29??RPC\BPF_Tustin.m
?????目錄??????????0??2017-04-11?17:03??RPC
-----------?---------??----------?-----??----
???????????????200217????????????????????6
評論
共有 條評論