Thank you so much, Hoffrichter and Star Strider. I found out that there is a function called sylvester which can directly address the question.
How to solve matrix function in Matlab?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi all! I'm faced with the following question:
X=AXB+C
where A is a 4*4 matrix, B is a 3*3 matrix, X and C are 4*3 matrices. I know the values of A, B and C. How can I solve out X using matlab?
3 commentaires
Star Strider
le 21 Fév 2021
I considered that, however it does not appear to be a Sylvester system, at least as I interpret it. Another option I considered was lyap and its friends.
John D'Errico
le 21 Fév 2021
inv(A)*X + X*(-B) = inv(A)*C
help sylvester
Réponses (1)
Paul Hoffrichter
le 21 Fév 2021
Modifié(e) : Paul Hoffrichter
le 21 Fév 2021
Define Z = AXB + C - X
You have to start off with your initial best guess for X based upon the nature of the model. For lack of any information, guess that X_0 = C. (Then Z = ACB.)
Create a Q = cost function for Z. You could try the trace of Z, and then check to see if Z has all entries close to 0.
You then need to find a zero crossing of your cost function. To do this, you can use fzero.
Other initial guesses may result in different answers if there are multiple roots.
0 commentaires
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!