Error using place (line 78) The "place" command cannot place poles with multiplicity greater than rank(B). what is this error?

187 visualizaciones (últimos 30 días)
I used to have no issues with this back when I used Matlab 2017b but now I can't get the pole placement function to work. here is what I got:
>> syms k1 k2 k3 s
>> A
A =
0 1.0000e+00 0
0 0 1.0000e+00
-5.0160e-04 -1.2880e-01 -8.5400e-01
>> B
B =
1
0
0
>> Ac
Ac =
[ -K1, 1 - K2, -K3]
[ 0, 0, 1]
[ -1156610853421589/2305843009213693952, -161/1250, -427/500]
>> clpoles=[-1/2 -1/15 -1/15];
>> Dc=collect(det(s*eye(3)-Ac));
>> K=place(A,B,clpoles)
*Error using place (line 78)
The "place" command cannot place poles with multiplicity greater than rank(B).*
  1 comentario
mani zarouri
mani zarouri el 19 de Mayo de 2023
Editada: mani zarouri el 19 de Mayo de 2023
Actually the issue was that the Matrix B was incorrect. It is supposed to be a 3x1 matrix with values in the order below: B= [0;0;1] This resolved the issue.

Iniciar sesión para comentar.

Respuesta aceptada

mani zarouri
mani zarouri el 19 de Mayo de 2023
Actually the issue was that the Matrix B was incorrect. It is supposed to be a 3x1 matrix with values in the order below: B= [0;0;1] This resolved the issue.

Más respuestas (1)

Siddharth Jawahar
Siddharth Jawahar el 19 de Mayo de 2023
Hi Mani,
This is not a bug, this is a limitation as spelled out in the error message. You cannot specify pole locations with multiplicity greater than rank(B)=1 in this example. Since closed-loop poles (-1/15,-1/15) has multiplicity 2, your target location violates this requirement. In general it's not a good idea to place poles at the same location because such a configuration is very sensitive to perturbations.
  1 comentario
mani zarouri
mani zarouri el 19 de Mayo de 2023
Thank you for your answer. I learned something new regarding the consequence of placing poles at the same location. Although, the answer to the question was with how the matrix B was setup.

Iniciar sesión para comentar.

Categorías

Más información sobre Model Predictive Control Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by