|
From: | Doug Stewart |
Subject: | Re: matrix exponential used by the control package |
Date: | Mon, 20 Jul 2020 17:22:20 -0400 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |