Flipping a State Space Model so the input is now calculated from a previous output

1 visualizzazione (ultimi 30 giorni)
I'm currenlty working on different ways to manipulate a common state space model.
If I run the following parameters:::::
u = -.012;
x = [0.0100000000000000;-0.0267035162502245];
A = [-20.2325181833801,-4.67364254028025;3.46393906420022,-22.4031616974973];
B = [94.7368421052632;67.0500000000000];
C = [1 0;0 1];
D = 0;
x_dot = A*x + B*u
u_new = (x_dot - A*x)/B
It outputs:::::
x_dot =
-1.2144
-0.1717
u_new =
-0.0120 0
-0.0085 0
u_new(1,1) lines up with the orignial input, but of course due to the matrix math there ends up being more information in the answer. Is it a problem if I ignor this information?

Risposta accettata

Ameer Hamza
Ameer Hamza il 18 Mag 2020
Modificato: Ameer Hamza il 18 Mag 2020
The correct line is
u_new = B\(x_dot - A*x)
Matrix multiplication is not commutative. So you need to take care of the order of matrix multiplication.
  4 Commenti

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by