MATLAB Answers

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

6 views (last 30 days)
grega on 14 Aug 2012
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 CommentsShowHide 1 older comment
grega on 17 Aug 2012
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

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!