Plotting Root Locus with Pole/Zero Locations

79 views (last 30 days)
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?

Accepted Answer

Jon
Jon on 30 Apr 2018
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 Comments
Kyle Duffy
Kyle Duffy on 30 Apr 2018
Edited: Kyle Duffy on 30 Apr 2018
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 on 1 May 2018
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!