

root locus code from scilab book
s=%s; syms k H=syslin('c',(k*(s+1)*(s+2))/(s*(s+3)*(s+4))); evans(H,5)
I found this code from a scilab control systems online book and tried executing it in the cloud. No good! I see that in this example there is a feedback gain, k, but searching for syms in scilab search, I can find no reference to it. I ran evans before using a transfer function without the k and it works ok (right out of the evans example code definition). Is this code right out of one of your books wrong? The k does look like a good idea, What is the meaning of "syms k" and what is wrong with this example?
Scilab


There is nothing wrong with this example except that it uses 'syms' to declare a symbolic variable. 'Syms' command is no longer supported in the latest scilab versions. syms k will simply declare a symbolic variable k, just like you declare s=%s. You may simply replace k with its correct value and the example will work. You can attach the example url next time to help us help you better. Just a note, if I am not wrong, the k here is "forward" gain and not "feedback" gain.


When doing a root locus, one starts with the form 1 + k(Q(s)/P(s)) and the roots are plotted for k values from 0 to inf thus forming a root locus graph. Which brings up 2 questions: in the above code k would have to be scanned over 0 to inf, so putting in a constant seems contrary to forming a root locus graph, and as evans with k a constant would seem not to show a root locus, but it does, somehow the evans function inserts a k parameter to make a 1 + k(Q(s)/P(s)) function for evans to analyze the above function. Any comments welcome.
Login to add comment