|
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
|