I have this dynamical system:
A = [ -0.313 56.7 0 -0.0139 -0.426 0 0 56.7 0]; B = [0.232 0.0203 0 ]; C = [0 0 1]; D = 0;
I'm using the c2d Matlab command to convert it to discrete time. This system is supposed to be stable but why does it behave like this if I use a sample time lower than 1s? With time sample 1s it is stable and converges to 0.
Also, I'm using full state feedback to place its poles at 0.5
Thanks in advance
- Matrices given above are for the continuous time system.
- The response shown is for the closed loop discrete time system.
- The full state feedback is designed for the discrete time system.
- There is one pole at origin only, so unitary multiplicity implies stability.
- pole placement
0.5+0ifor the discrete time system.
- Full state feedback is designed after doing c2d.
- To get full state feedback gain I used
-place(Ad, Bd, [0.5 0.501 0.502])
- I also noticed that placing poles in 0.8 in full state feedback the system converges to 0
clear; close all; clc; A = [ -0.313 56.7 0 -0.0139 -0.426 0 0 56.7 0]; B = [0.232 0.0203 0]; C = [0 0 1]; T = 100e-3; sys = ss(A, B, C, 0); sysd = c2d(sys, T); Ad = sysd.A; Bd = sysd.B; Cd = sysd.C; p_des = [0.5 0.501 0.502]; Kr = -place(Ad, Bd, p_des); N = 100; x(:, 1) = [0 0 pi/9]'; u(:, 1) = 0; for i=1:N if (i<N) x(:, i + 1) = Ad * x(:,i) + Bd * u(:, i); end y(:, i) = Cd * x(:, i); u(:, i + 1) = Kr * x(:, i); end k = 1:N; plot(k, x');