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

조회 수: 180 (최근 30일)
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
mani zarouri
mani zarouri 2023년 5월 19일
편집: mani zarouri 2023년 5월 19일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

mani zarouri
mani zarouri 2023년 5월 19일
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.

추가 답변 (1개)

Siddharth Jawahar
Siddharth Jawahar 2023년 5월 19일
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
mani zarouri
mani zarouri 2023년 5월 19일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Model Predictive Control Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by