Finding zero poles in eigenvalues

6 次查看(过去 30 天)
Hello Matlab Community, I have problems finding the zero pole of my eigenvalues of a matrix. I have a given 4x4 matrix A:
A=[0 1 0 0;
-35.7 -d/841.5 35.7 d/841.5;
0 0 0 1;
1200 d/25 -9200 (-100-d)/25];
lambda=eig(A);
I can imagine the code to be something like: find(min(real(lambda(1)-lambda(2)))&&min(imag(lambda(1)-lambda(2))));
I can change the value of d within a given range of 800 till 12000;
As you can see in the picture, the steps at the results get even bigger, so a loop didn't really do the trick for me, as I would need to adapt the stepsize of d when I get closer to my desired result.
Could it be possible to solve this problem with fminsearch(@d eig(A))? I have no idea how to get the matrix into my fminsearch function.
Would be nice if no optimization toolbox is needed.
Thank you for your help.

回答(1 个)

Star Strider
Star Strider 2017-2-3
If I remember correctly, the eigenvalues of the ‘A’ matrix of a control system are the poles. To find the zeros of your system, you first need to convert it to a transfer function.
  1 个评论
Tobias Engelhardt
That is correct sir, but I am looking for a different use:
If I find the value of d to the given poles above, I know that my system will be critically damped (D=1), which is what I am trying to accomplish here. The matrix A represents my system matrix.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by