[SciPy-Dev] Pole placement

SUPSI roberto.bucher at supsi.ch
Wed Nov 26 17:41:58 EST 2014


I've already implemented the scicoslab algorithm for my yottalab 
packages wich covers some not already implemented functions in the 
python-control package.

This file:

http://robertobucher.dti.supsi.ch/bucherdl/pyControlDistro.tgz

contains the folder "toolbox->supsictrl>pplace" with the required files, 
and in yottalab.py is implemented the "placep" function.

I had contacts with the people developing scicoslab, and the files where 
from an old slycot library version which were distributed under GPL (if 
I right remember).

Best regards

Roberto


On 11/26/2014 10:25 PM, Ralf Gommers wrote:
>
>
> On Wed, Nov 26, 2014 at 10:06 PM, Irvin Probst 
> <irvin.probst at ensta-bretagne.fr 
> <mailto:irvin.probst at ensta-bretagne.fr>> wrote:
>
>     On Wed, 26 Nov 2014 21:29:11 +0100, Ralf Gommers wrote:
>     >
>     > This function would be useful to add to scipy.signal it looks like.
>     > Contribution very welcome. You cannot submit code that you
>     translated
>     > from Matlab though, you'd have to implement it based on a paper
>     > describing the algorithm or translate it from BSD-compatible code.
>
>     The problem is that matlab's function was written in 1986 using the
>     paper describing the algorithm I wished to implement (I realized that
>     only after looking at this paper).
>     Whatever I'll do it will still be the same algorithm providing the
>     same
>     solution, which in the end is not a bad thing as matlab's place() is
>     probably the most used pole placement function.
>     Of course I can obfuscate it such as it does not look like matlab's
>     code but you can't change the fact that I wrote it while reading
>     matlab's code...
>
>
> Well, the issue is not that you implement the same algorithm which 
> might make the source code look similar, but that you looked at the 
> Matlab source code. Linking that source code probably doesn't help 
> either:)
>
> What I suggest is that you contact the authors of the Scilab algorithm 
> and ask them if they're willing to relicense their code under the BSD 
> license for inclusion in Scipy. And then wrap that with f2py (probably 
> won't be too hard).
>
> Ralf
>
>
>     Do you have any advices on what I should do ? If it can be of any help
>     see at the end of this email the header of matlab's place.m.
>
>     There is also an algorithm in Scilab (I can't remember the main author
>     name) but it's written in Fortran and I'm not fluent in this
>     language...
>
>     Source is here:
>     http://people.eng.unimelb.edu.au/mcgood/ctrl433/matlab/place.m
>
>
>     function [K,prec,message] = place(A,B,P)
>     %PLACE  Pole placement technique
>     %
>     %   K = PLACE(A,B,P)  computes a state-feedback matrix K such that
>     %   the eigenvalues of  A-B*K  are those specified in vector P.
>     %   No eigenvalue should have a multiplicity greater than the
>     %   number of inputs.
>     %
>     %   [K,PREC,MESSAGE] = PLACE(A,B,P)  returns PREC, an estimate of how
>     %   closely the eigenvalues of A-B*K match the specified locations P
>     %   (PREC measures the number of accurate decimal digits in the actual
>     %   closed-loop poles).  If some nonzero closed-loop pole is more than
>     %   10% off from the desired location, MESSAGE contains a warning
>     %   message.
>     %
>     %   See also  ACKER.
>
>     %   M. Wette 10-1-86
>     %   Revised 9-25-87 JNL
>     %   Revised 8-4-92 Wes Wang
>     %   Revised 10-5-93, 6-1-94 Andy Potvin
>     %   Revised 4-11-2001 John Glass, Pascal Gahinet
>     %
>     %   Ref:: Kautsky, Nichols, Van Dooren, "Robust Pole Assignment in
>     Linear
>     %         State Feedback," Intl. J. Control, 41(1985)5, pp 1129-1155
>     %
>
>     %   Copyright 1986-2001 The MathWorks, Inc.
>     %   $Revision: 1.13 $  $Date: 2001/08/27 12:58:53 $
>     _______________________________________________
>     SciPy-Dev mailing list
>     SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>     http://mail.scipy.org/mailman/listinfo/scipy-dev
>
>
>
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20141126/c49b6458/attachment.html>


More information about the SciPy-Dev mailing list