[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
matrix exponential used by the control package
From: |
Torsten Lilge |
Subject: |
matrix exponential used by the control package |
Date: |
Mon, 20 Jul 2020 22:37:58 +0200 |
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
- matrix exponential used by the control package,
Torsten Lilge <=