From: Richard M. <mu...@cd...> - 2011-04-07 14:56:31
|
I noticed this change as well. If you are just using the various functions in python-control, everything works fine (eg, none of the examples had to change). But if you are extracting frequency responses or otherwise playing with data generated from your system, this is a bit of a hassle. Here is a proposal: * For all functions in python-control that accept MIMO systems (all of them eventually), we add two keywords: - toSISO=True will force output to be SISO-like (v0.3) if inputs==1, outputs==1 - toSISO=(n, m) will give you SISO-like output for the nth input to mth output - toMIMO=True will force the output to be MIMO-like even if inputs==1, outputs==1 * For the Python interface, the default will be toMIMO=True, so that you get the current behavior. If you want the scalar version of the outputs, you just add toSISO=True as a keyword. * For the MATLAB interface, the default will toSISO=True, so that you get MATLAB-like behavior if you extract data from bode(), freqresp(), etc. One problem with this is that you can have conflicts if you give *both* sets of keywords. Sometimes this makes sense ("toSISO=(2,3) toMIMO=True"), but sometimes it doesn't ("toSISO=True, toMIMO=True"). So probably needs a bit more thought. But the idea is that the following code: (mag, phase, omega) = bode(sys) plot(omega[0][0]), mag[0][0]) becomes (mag, phase, omega) = bode(sys, toSISO=True) plot(omega, mag) which I think is a bit cleaner. Comments, suggestions? -richard On 6 Apr 2011, at 14:19 , Sawyer Fuller wrote: > Hey i just downloaded the latest version of python-control and it looks like everything has gone MIMO. Pretty cool, but is there any way to way to stick to SISO, eg a subclass or flag? A little bit of a drag to constantly be appending [0][0] to every frequency response for the most common use case. I think matlab does a special-case for SISO. Anything like that in the works or somewhere i'm not finding it? > > S > > > ------------------------ > Sawyer B. Fuller > Ph.D. Candidate, Bioengineering > California Institute of Technology > http://www.cds.caltech.edu/~minster/ > > > ------------------------------------------------------------------------------ > Xperia(TM) PLAY > It's a major breakthrough. An authentic gaming > smartphone on the nation's most reliable network. > And it wants your games. > http://p.sf.net/sfu/verizon-sfdev_______________________________________________ > python-control-discuss mailing list > pyt...@li... > https://lists.sourceforge.net/lists/listinfo/python-control-discuss |