Bibliothek für Berechnung des Potentials
(%i1) load ( "vect" ) $
Lie-Klammer bzw. Lie-Ableitung eines Vektorfeldes
(%i2) LieBracket ( [ l ] ) : = block ( [ f , g , x , k , Df , Dg , ad ] ,
   if ( length ( l ) < 3 ) or ( length ( l ) > 4 ) then
      error ( "Aufruf mit 3 oder 4 Argumenten." ) ,
   f : l [ 1 ] ,
   g : l [ 2 ] ,
   x : l [ 3 ] ,
   if length ( l ) = 3 then k : 1 else k : l [ 4 ] ,
   if not ( nonnegintegerp ( k ) ) then
      error ( "Ordnung k muss natürliche Zahl sein." ) ,
   if k = 0 then return ( g )
   else
       Df : jacobian ( f , x ) ,
       Dg : jacobian ( g , x ) ,
       ad : list_matrix_entries ( Dg . f Df . g ) ,
       return ( LieBracket ( f , ad , x , k 1 ) )
) $
Steuerbarkeitsmatrix
(%i3) ControllabilityMatrix ( f , g , x ) : = block ( [ i , n , L ] ,
   n : length ( x ) ,
   if length ( f ) # n then
       error ( "Dimensionen von f und x müssen übereinstimmen." ) ,
   if length ( g ) # n then
       error ( "Dimensionen von g und x müssen übereinstimmen." ) ,
   L : makelist ( LieBracket ( f , g , x , i ) , i , 0 , n 1 ) ,
   transpose ( apply ( matrix , L ) )
   ) $
Beispiel: Inverses Pendel
(%i7) f : [ x2 , ( m · G · l · sin ( x1 ) d · x2 + K · x3 ) / J , ( K · x2 + R · x3 ) / L ] $
g : [ 0 , 0 , ( 1 / L ) ] $
x : [ x1 , x2 , x3 ] $
n : length ( x ) $
Berechnung der Steuerbarkeitsmatrix
(%i8) Qs : ControllabilityMatrix ( f , g , x ) ;

\[\operatorname{(Qs) }\begin{pmatrix}0 & 0 & \frac{K}{J L}\\ 0 & \frac{K}{J L} & -\frac{K d}{{{J}^{2}} L}-\frac{K R}{J {{L}^{2}}}\\ \frac{1}{L} & -\frac{R}{{{L}^{2}}} & \frac{{{R}^{2}}}{{{L}^{3}}}-\frac{{{K}^{2}}}{J {{L}^{2}}}\end{pmatrix}\]

Inverse Steuerbarkeitsmatrix
(%i9) QI : ratsimp ( invert ( Qs ) ) ;

\[\operatorname{(QI) }\begin{pmatrix}\frac{R d+{{K}^{2}}}{K} & \frac{J R}{K} & L\\ \frac{L d+J R}{K} & \frac{J L}{K} & 0\\ \frac{J L}{K} & 0 & 0\end{pmatrix}\]

Differentialform/Kovektorfeld
(%i10) ω : list_matrix_entries ( row ( QI , n ) ) ;

\[\operatorname{(\omega ) }\left[ \frac{J L}{K}\operatorname{,}0\operatorname{,}0\right] \]

Potential/Ausgangsabbildung
(%i11) h : potential ( ω , x ) ;

\[\operatorname{(h) }\frac{J L\, \ensuremath{\mathrm{x1}}}{K}\]


Created with wxMaxima.