What are the states in the 4-order state-space model?

4 次查看(过去 30 天)
Dear All
I do not quite understand the state-scpace model formation and would like to ask for some simple explanation.
Im trying to fit real data with a 4-order state-space model. Number of inputs and outputs are 14 and 3 respectively. Hence, nx=4; Nk=ones(14,1)
(1) Why the resulting model has 4 states, the same as the model order nx?
(2) I guess the x(k) must be 4x1 vector in this case. Hence it seems that the x(k) does not have physical meaning. I would like to make estimation myself, so what (values) shall I use for x(k) to initialize the model:
x(k+1)=Ax(k)+Bu(k)
y(k) = Ax(k)+Du(k)
(3) Please, if possible, give some nice MIMO example or reference to it.
Thank you kindly!
  2 个评论
grega
grega 2012-8-17
The exact problem is that I would like to reproduce the sim.m function as described in demo: Control of a MultiInput Single-Output plant (Step-by-step Simulation. The following code is based on the demo example, but I get strange results for our MIMO system. Any strange coding noticed?
[A,B,C,D]=ssdata(MPCobj.Model.Plant);
Tstop=50; %Simulation time
x = MPCobj.Model.Nominal.X;
xmpc=mpcstate(MPCobj); % Initial state of the MPC controller
r= r(1,:); % Output reference trajectory
% ---- record
YY=[]; UU=[]; XX=[];
% --- simulation
for t=0:round(Tstop/Ts)-1,
XX=[XX,x];
% Define measured disturbance signal
v = data(t+1,iMD);
% Plant equations: output update (note: no feedthrough from MV to Y: D=0)
y=C*x+D(:,iMD)*v'; % I get pritty wierd results at this line
YY=[YY,y];
% Compute MPC law
u=mpcmove(MPCobj,xmpc,y,r,v);
% Plant equations: state update
x=A*x+B(:,iMV)*u+B(:,iMD)*v';%+B(:,3)*d;
UU=[UU,u];
end

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by