\( \DeclareMathOperator{\abs}{abs} \newcommand{\ensuremath}[1]{\mbox{$#1$}} \)
(%i1) | load ( "vect" ) $ |
(%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 ) ) ) $ |
(%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 ) ) ) $ |
(%i6) |
f
:
[
x2
,
(
m0
·
sin
(
x1
)
)
/
(
J1
−
I2
)
,
−
(
m0
·
sin
(
x1
)
)
/
(
J1
−
I2
)
]
;
g : [ 0 , − 1 / ( J1 − I2 ) , J1 / ( I2 · ( J1 − I2 ) ) ] ; x : [ x1 , x2 , x3 ] ; |
\[\operatorname{(f) }\left[ \ensuremath{\mathrm{x2}}\operatorname{,}\frac{\ensuremath{\mathrm{m0}} \sin{\left( \ensuremath{\mathrm{x1}}\right) }}{\ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}}\operatorname{,}-\frac{\ensuremath{\mathrm{m0}} \sin{\left( \ensuremath{\mathrm{x1}}\right) }}{\ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}}\right] \]
\[\operatorname{(g) }\left[ 0\operatorname{,}-\frac{1}{\ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}}\operatorname{,}\frac{\ensuremath{\mathrm{J1}}}{\ensuremath{\mathrm{I2}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) }\right] \]
\[\operatorname{(x) }\left[ \ensuremath{\mathrm{x1}}\operatorname{,}\ensuremath{\mathrm{x2}}\operatorname{,}\ensuremath{\mathrm{x3}}\right] \]
(%i7) | Qs : ControllabilityMatrix ( f , g , x ) ; |
\[\operatorname{(Qs) }\begin{pmatrix}0 & -\frac{1}{\ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}} & 0\\ -\frac{1}{\ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}} & 0 & -\frac{\ensuremath{\mathrm{m0}} \cos{\left( \ensuremath{\mathrm{x1}}\right) }}{{{\left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) }^{2}}}\\ \frac{\ensuremath{\mathrm{J1}}}{\ensuremath{\mathrm{I2}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) } & 0 & \frac{\ensuremath{\mathrm{m0}} \cos{\left( \ensuremath{\mathrm{x1}}\right) }}{{{\left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) }^{2}}}\end{pmatrix}\]
(%i9) |
orthogonal_complement
(
col
(
Qs
,
1
)
,
col
(
Qs
,
2
)
)
$
Ω : factor ( % ) ; |
\[\operatorname{(\Omega ) }\operatorname{span}\left( \begin{pmatrix}0\\ \ensuremath{\mathrm{J1}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) \\ \ensuremath{\mathrm{I2}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) \end{pmatrix}\right) \]
(%i10) | ω : list_matrix_entries ( first ( args ( Ω ) ) ) ; |
\[\operatorname{(\omega ) }\left[ 0\operatorname{,}\ensuremath{\mathrm{J1}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) \operatorname{,}\ensuremath{\mathrm{I2}}\, \left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) \right] \]
(%i11) | h : factor ( potential ( ω , x ) ) ; |
\[\operatorname{(h) }\left( \ensuremath{\mathrm{J1}}-\ensuremath{\mathrm{I2}}\right) \, \left( \ensuremath{\mathrm{I2}}\, \ensuremath{\mathrm{x3}}+\ensuremath{\mathrm{J1}}\, \ensuremath{\mathrm{x2}}\right) \]
Created with wxMaxima.