[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