Solving for an unkown matrix

Is there a way to solve the following matrix equation in matlab?
P*A + B*P = C
A,B,C,P have the same matrix dimensions. A,B,C are known matrices. P is an unknown matrix.

 Réponse acceptée

Teja Muppirala
Teja Muppirala le 22 Sep 2011

1 vote

This is the Sylvester equation. You can solve it using the LYAP command.
A = rand(3);
B = rand(3);
C = rand(3);
P = lyap(B,A,-C)
P*A+B*P - C

Plus de réponses (1)

Walter Roberson
Walter Roberson le 22 Sep 2011

0 votes

Computationally, it can be solved when A, B, and C are given -- with, of course, exceptions for cases such as A and B are all 0 and C is not.
However, I do not know if there is a good way to formulate what the solution will be. I have the general symbolic 4 x 4 case running now, and it is taking its sweet time...

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by