\( \DeclareMathOperator{\abs}{abs} \newcommand{\ensuremath}[1]{\mbox{$#1$}} \)
(%i1) |
LieScalar
(
[
l
]
)
:
=
block
(
[
f
,
h
,
x
,
k
,
Lfh
]
,
if ( length ( l ) < 3 ) or ( length ( l ) > 4 ) then error ( "Aufruf mit 3 oder 4 Argumenten." ) , f : l [ 1 ] , /* Vektorfeld */ h : l [ 2 ] , /* Skalarfeld */ x : l [ 3 ] , /* Variable */ 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 ( h ) else Lfh : jacobian ( [ h ] , x ) . f , return ( LieScalar ( f , Lfh , x , k − 1 ) ) ) $ |
(%i2) |
ObservabilityMap
(
f
,
h
,
x
)
:
=
block
(
[
i
,
n
]
,
n : length ( x ) , makelist ( LieScalar ( f , h , x , i ) , i , 0 , n − 1 ) ) $ |
(%i3) | ObservabilityMatrix ( f , h , x ) : = jacobian ( ObservabilityMap ( f , h , x ) , x ) $ |
(%i5) |
f
:
[
λ1
·
x2
·
x3
,
λ2
·
x1
·
x3
,
λ3
·
x1
·
x2
]
$
x : [ x1 , x2 , x3 ] $ |
(%i7) |
Q
:
factor
(
ObservabilityMatrix
(
f
,
x1
,
x
)
)
;
d : factor ( determinant ( Q ) ) ; |
\[\operatorname{(Q) }\begin{pmatrix}1 & 0 & 0\\ 0 & \ensuremath{\mathrm{x3}}\, \ensuremath{\mathrm{\lambda 1}} & \ensuremath{\mathrm{x2}}\, \ensuremath{\mathrm{\lambda 1}}\\ \ensuremath{\mathrm{\lambda 1}}\, \left( {{\ensuremath{\mathrm{x2}}}^{2}} \ensuremath{\mathrm{\lambda 3}}+{{\ensuremath{\mathrm{x3}}}^{2}} \ensuremath{\mathrm{\lambda 2}}\right) & 2 \ensuremath{\mathrm{x1}}\, \ensuremath{\mathrm{x2}}\, \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 3}} & 2 \ensuremath{\mathrm{x1}}\, \ensuremath{\mathrm{x3}}\, \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 2}}\end{pmatrix}\]
\[\operatorname{(d) }-2 \ensuremath{\mathrm{x1}} {{\ensuremath{\mathrm{\lambda 1}}}^{2}} \left( {{\ensuremath{\mathrm{x2}}}^{2}} \ensuremath{\mathrm{\lambda 3}}-{{\ensuremath{\mathrm{x3}}}^{2}} \ensuremath{\mathrm{\lambda 2}}\right) \]
(%i9) |
invert
(
Q
)
.
[
a2
,
a1
,
a0
]
$
k : ratsimp ( % ) ; |
\[\operatorname{(k) }\begin{pmatrix}\ensuremath{\mathrm{a2}}\\ -\frac{\ensuremath{\mathrm{a2}} {{\ensuremath{\mathrm{x2}}}^{3}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 3}}+\left( \ensuremath{\mathrm{a2}}\, \ensuremath{\mathrm{x2}} {{\ensuremath{\mathrm{x3}}}^{2}} \ensuremath{\mathrm{\lambda 1}}+2 \ensuremath{\mathrm{a1}}\, \ensuremath{\mathrm{x1}}\, \ensuremath{\mathrm{x3}}\right) \, \ensuremath{\mathrm{\lambda 2}}-\ensuremath{\mathrm{a0}}\, \ensuremath{\mathrm{x2}}}{2 \ensuremath{\mathrm{x1}} {{\ensuremath{\mathrm{x2}}}^{2}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 3}}-2 \ensuremath{\mathrm{x1}} {{\ensuremath{\mathrm{x3}}}^{2}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 2}}}\\ \frac{\left( \ensuremath{\mathrm{a2}} {{\ensuremath{\mathrm{x2}}}^{2}} \ensuremath{\mathrm{x3}}\, \ensuremath{\mathrm{\lambda 1}}+2 \ensuremath{\mathrm{a1}}\, \ensuremath{\mathrm{x1}}\, \ensuremath{\mathrm{x2}}\right) \, \ensuremath{\mathrm{\lambda 3}}+\ensuremath{\mathrm{a2}} {{\ensuremath{\mathrm{x3}}}^{3}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 2}}-\ensuremath{\mathrm{a0}}\, \ensuremath{\mathrm{x3}}}{2 \ensuremath{\mathrm{x1}} {{\ensuremath{\mathrm{x2}}}^{2}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 3}}-2 \ensuremath{\mathrm{x1}} {{\ensuremath{\mathrm{x3}}}^{2}} \ensuremath{\mathrm{\lambda 1}}\, \ensuremath{\mathrm{\lambda 2}}}\end{pmatrix}\]
Created with wxMaxima.