slicot_sb02od
Résolution des équations de Riccati algébriques temps continu ou discret (méthode des vecteurs de Schur généralisés).
📝 Syntaxe
[RCOND, X, ALFAR, ALFAI, BETA, S, T, U, INFO] = slicot_sb02od(DICO, JOBB, FACT, UPLO, JOBL, SORT, P, A, B, Q, R, L, TOL)
📥 Argument d'entrée
DICO - Spécifie le type d'équation de Riccati à résoudre : = 'C' : cas continu ; = 'D' : cas discret.
JOBB - Spécifie si la matrice G est fournie au lieu des matrices B et R : = 'B' : B et R sont fournis ; = 'G' : G est fourni.
FACT - Spécifie si les matrices Q et/ou R (si JOBB = 'B') sont factorisées : = 'N' : non factorisées (Q et R fournis) ; = 'C' : C donné, Q = C'C ; = 'D' : D donné, R = D'D ; = 'B' : facteurs C et D donnés, Q = C'C, R = D'D.
UPLO - Si JOBB = 'G' ou FACT = 'N', spécifie quel triangle des matrices G et Q (si FACT = 'N') ou Q et R (si JOBB = 'B') est stocké : = 'U' : triangle supérieur ; = 'L' : triangle inférieur.
JOBL - Spécifie si la matrice L est nulle : = 'Z' : L est nulle ; = 'N' : L est non nulle. JOBL n'est pas utilisé si JOBB = 'G' (on suppose JOBL = 'Z'). La routine SB02MT doit être appelée juste avant SB02OD pour obtenir les résultats lorsque JOBB = 'G' et JOBL = 'N'.
SORT - Spécifie quelles valeurs propres doivent apparaître en tête de la forme de Schur généralisée : = 'S' : valeurs propres stables en premier ; = 'U' : valeurs propres instables en premier.
P - Le nombre de sorties du système. Si FACT = 'C' ou 'D' ou 'B', P est le nombre de lignes des matrices C et/ou D. P >= 0. Sinon, P n'est pas utilisé.
A - La partie principale N-by-N de ce tableau doit contenir la matrice d'état A du système.
B - Si JOBB = 'B', la partie principale N-by-M de ce tableau doit contenir la matrice d'entrée B du système.
Q - Si FACT = 'N' ou 'D', la partie principale N-by-N triangulaire supérieure (si UPLO = 'U') ou triangulaire inférieure (si UPLO = 'L') doit contenir la partie triangulaire supérieure ou inférieure, respectivement, de la matrice symétrique de pondération d'état Q. La partie strictement inférieure (si UPLO = 'U') ou strictement supérieure (si UPLO = 'L') n'est pas référencée.
R - Si FACT = 'N' ou 'C', la partie principale M-by-M triangulaire supérieure (si UPLO = 'U') ou triangulaire inférieure (si UPLO = 'L') doit contenir la partie triangulaire correspondante de la matrice symétrique de pondération d'entrée R. La partie strictement inférieure (si UPLO = 'U') ou strictement supérieure (si UPLO = 'L') n'est pas référencée.
L - Si JOBL = 'N' (et JOBB = 'B'), la partie principale N-by-M de ce tableau doit contenir la matrice de pondération croisée L. Cette partie est modifiée en interne, mais restaurée à la sortie. Si JOBL = 'Z' ou JOBB = 'G', ce tableau n'est pas référencé.
TOL - La tolérance à utiliser pour tester la quasi-singularité du pencil matriciel original, spécifiquement du facteur triangulaire obtenu lors du processus de réduction.
📤 Argument de sortie
RCOND - Une estimation du réciproque du nombre de condition (en norme 1) du système d'ordre N d'équations algébriques à partir duquel la matrice solution X est obtenue.
X - La partie principale N-by-N de ce tableau contient la matrice solution X du problème.
ALFAR, ALFAI, BETA - Les valeurs propres généralisées de la paire de matrices 2N-by-2N, ordonnées comme spécifié par SORT (si INFO = 0).
S - La partie principale 2N-by-2N de ce tableau contient la forme de Schur réelle ordonnée S de la première matrice du pencil réduit associé au problème optimal, ou de la matrice hamiltonienne correspondante si DICO = 'C' et JOBB = 'G'.
T - Si DICO = 'D' ou JOBB = 'B', la partie principale 2N-by-2N contient la forme triangulaire supérieure ordonnée T de la seconde matrice du pencil réduit associé au problème optimal.
U - La partie principale 2N-by-2N de ce tableau contient la matrice de transformation droite U qui réduit le pencil 2N-by-2N à la forme de Schur généralisée ordonnée (S,T), ou la matrice hamiltonienne à la forme de Schur réelle ordonnée S si DICO = 'C' et JOBB = 'G'.
INFO - = 0 : sortie réussie ;
📄 Description
Résolution des équations de Riccati algébriques temps continu ou discret (méthode des vecteurs de Schur généralisés).
La routine utilise la méthode des sous-espaces déflants, basée sur le réordonnancement des valeurs propres dans une paire de matrices de Schur généralisée.
Un problème propre standard est résolu dans le cas continu si G est fourni.
Fonction(s) utilisée(s)
SB02OD
📚 Bibliographie
http://slicot.org/objects/software/shared/doc/SB02OD.html
💡 Exemple
N = 2;
M = 1;
P = 3;
TOL = 0.0;
DICO = 'C';
JOBB = 'B';
FACT = 'B';
UPLO = 'U';
JOBL = 'Z';
SORT = 'S';
A = [0.0 1.0;
0.0 0.0];
B = [0.0; 1.0];
Q = [1.0 0.0;
0.0 1.0;
0.0 0.0];
R = [0.0;
0.0;
1.0];
L = zeros(N, M);
[RCOND, X, ALFAR, ALFAI, BETA, S, T, U, INFO] = slicot_sb02od(DICO, JOBB, FACT, UPLO, JOBL, SORT, P, A, B, Q, R, L, TOL)🕔 Historique
1.0.0
version initiale
Last updated
Was this helpful?