one_step_of_controller.m

来自「一个matlab的将军模型」· M 代码 · 共 28 行

M
28
字号
function [x_contr,nx,nz] = one_step_of_controller(X,t0,ode_param)

%This function propagates the controller states forward one sample step.


global GLOBAL_PIHA

if length(GLOBAL_PIHA.SCSBlocks)>1|length(ode_param)>1
    error('Sampled data analysis currently only supports systems with one SCSB and one FSM.')
end
    
swfunc = GLOBAL_PIHA.SCSBlocks{1}.swfunc;
nx = GLOBAL_PIHA.SCSBlocks{1}.nx;
nz = GLOBAL_PIHA.SCSBlocks{1}.nz;
nup = GLOBAL_PIHA.SCSBlocks{1}.nup;

X(nx+nz+1:nx+nz+nup,1) = zeros(nup,1);

%Time varying case:
%[sys,type] = feval(swfunc,X,ode_param,t0);

[sys,type] = feval(swfunc,X,ode_param);

x_contr(1:nx) = zeros(nx,1);
x_contr(nx+1:nx+nz) = sys(nx+1:nx+nz);

return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?