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.

 Akzeptierte Antwort

Teja Muppirala
Teja Muppirala am 22 Sep. 2011

1 Stimme

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

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 22 Sep. 2011

0 Stimmen

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