Plotting Root Locus with Pole/Zero Locations

조회 수: 22 (최근 30일)
Kyle Duffy
Kyle Duffy 2018년 4월 30일
댓글: Jon 2018년 5월 1일
Hello, For one of my courses I have been tasked to create a simple 6DOF for Aircraft. My code returns the locations of the Poles but I am unsure how to have my code plot the locations on a Root Locus. I do not have a transfer function so it seems as if the "rlocus" function does not help me. Does anyone know how to do this?

채택된 답변

Jon
Jon 2018년 4월 30일
Think about what a root locus plot actually is. It plots the locations of the roots (pole locations) in the complex plane as a function of some parameter, for example controller gain. So you can make a simple loop which varies the parameter. For each pass through the loop, solve for the n (in your case 4) eigenvalues and plot them. Note the standard plot command in MATLAB will plot a complex value with the x axis as the real part and y axis as the imaginary part. So at each pass through the loop, if your poles (eigenvalues) are given by the vector v, you could just use the command plot(v,'*'), which would put a star (asterisk) at each pole location. Use the command hold on before entering the loop, and hold off after leaving the loop so it won't get erased as you build up the plot.
  댓글 수: 2
Kyle Duffy
Kyle Duffy 2018년 4월 30일
편집: Kyle Duffy 2018년 4월 30일
Hey Thanks Jonathan! I ended taking my pole locations and created a transfer function using the 'pz2tf' command, and then used 'rlocus' to plot the Root Locus of that returned transfer function. But your way would have worked too (and a lot less complicated). Thanks!
Jon
Jon 2018년 5월 1일
Looking at the documentation for rlocus I also see that you can directly input a system that is in state space form if you have that. So if you have the A,B,C,D matrices modeled for your system, you can set sys = ss(A,B,C,D) and then rlocus(sys). This assumes you are looking for the root locus for a negative feedback gain. If you have some more general parameter you could always use the loop I described.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by