nonlinear variable state space observer pole placement
Afficher commentaires plus anciens
Hi,
i want to place some observer poles in dependency of an variable. The variable v is speed and it is changing with the time.
Example:
- option
syms v
A = [-1 2; v -1]
c = [0 1]
p = [-2; -3];
so,
L = place(A',c',p).'; %doesnt work
-----------
2.option
syms v lambda l1 l2
L =[l1;l2];
solve((det(lambda * [1 0; 0 1] - (A - L*c)) == (lambda+2)*(lambda+3)),[l1 l2]); %matlab doesn't eliminate lambda
l1 = ?
l2 = ?
do i need to calculate the det matrix by myself or can matlab help me in a faster way?
Thanks and Regards
Bernd
Réponse acceptée
Plus de réponses (1)
Long time I didn't solve math puzzles like this one. Generally, you should be able find the analytical solution for L that satisfies the condition of eigenvalues of
that gives
and
.
The following is an attempt to solve the problem heuristically for
. You can attempt for
.
v = 1:10;
c = [0 1];
p = [-2; -3];
for j = 1:length(v)
A = [-1 2; v(j) -1];
L = place(A', c', p) % always return L = [m 3]
m(j) = L(:, 1);
end
plot(v, m, 'p'), xlabel('v'), ylabel('L_1')
The pattern can be intuitively recognived as:
vv = linspace(1, 10, 901);
L1 = (4 + 2*(vv - 1))./vv;
plot(vv, L1), grid on, xlabel('v'), ylabel('L_1')
2 commentaires
Bernd Pfeifer
le 17 Nov 2022
For implementation in Simulink, both equations for
are exactly the same (for your original 2nd-order system):
My equation came from my recognition of the numerical pattern as something related to the arithmetic sequence (without employing the curve-fitting tool), while Paul's equation is the solution as a direct result from his analytical mind and the computational power of MATLAB.
Catégories
En savoir plus sur Systems of Nonlinear Equations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




