octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: matrix exponential used by the control package


From: Doug Stewart
Subject: Re: matrix exponential used by the control package
Date: Mon, 20 Jul 2020 17:22:20 -0400



On Mon, Jul 20, 2020 at 4:38 PM Torsten Lilge1960 Blue Heron Drive, <ttl-octave@mailbox.org> wrote:
Hi everyone,

the control package uses the SLICOT function mb05nd [1]
(__sl_mb05nd__()) instead of the octave function expm() for the matrix
exponential. The problem with mb05nd is that when discretizing a static
gain in state space results in

>> [a,b,c,d] = ssdata (c2d (ss (tf (1,1)),1))
a = [](1x0)
b = 0
c = [](1x0)
d = 1

Instead, using expm() leads to the correct result

>> [a,b,c,d] = ssdata (c2d (ss (tf (1,1)),1))
a = [](0x0)
b = [](0x1)
c =
[](1x0)
d = 1

Are there any reasons against using expm()?

Torsten


[1] http://slicot.org/objects/software/shared/doc/MB05ND.html


Is there a difference in speed?
If it is slower then we should look and see where the '0" is coming from.

--
DASCertificate for 206392


reply via email to

[Prev in Thread] Current Thread [Next in Thread]