How should I find the Cholesky factorization of the gramian in MATLAB?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I used two methods to find the Cholesky factorization of a gramian. These methods yield different results for certain systems.
The first method is to use command GRAM with option 'of'
rq = gram(SYS, 'of')
The second method is to find the gramian first, then take the Cholesky factorization.
q = gram(SYS, 'o');
rq = chol (q);
Réponse acceptée
MathWorks Support Team
le 27 Juin 2009
The command GRAM calculates the Cholesky factorization of the gramian directly from a Cholesky Lyapunov solver. If there is no specified factorization, GRAM explicitly forms the product Wo = R' * R. In other words,
q = gram(SYS, 'o');
is equivalent to:
r = gram(SYS, 'of');
q = r' * r;
To calculate the Cholesky factorization of the gramian,
rq = gram(SYS, 'of');
should be used. Using:
q = gram(SYS, 'o');
rq = chol(q);
may cause round-off errors and scaling issues. This is so because it performs the product q = r' * r first in the call to GRAM and then refactorizes the product q using CHOL.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Computations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!