Plotting Root Locus with Pole/Zero Locations

22 次查看(过去 30 天)
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