Plotting Root Locus with Pole/Zero Locations
79 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
Categories
Find more on Stability Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!