[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* **<=**