Effacer les filtres
Effacer les filtres

Solve this matrix equation and find T

4 vues (au cours des 30 derniers jours)
Ceasar_Ullrich9
Ceasar_Ullrich9 le 28 Jan 2020
I would like to find a matrix T that satisfies this equation
T^-1*F*T = G
where F and G are known matrices.
In particular,
G = [0 2 0;-1 1 0;-2 2 0]
and
F = [0 -1 0; 2 1 0; 0 1 0]
Thanks!

Réponses (1)

John D'Errico
John D'Errico le 28 Jan 2020
Homework, right? Why not admit it?
Note that the solution, if one exists, is not unique, since IF T does exist to solve the problem, then it is also true that for any scalar k, we also have k*T as a fully valid solution.
If T exists, such that T^-1*F*T = G, then we can write the problem in this form:
F*T = T*G
Now solve it using kron and null. The trick is to "unwind" the matrix T into a vector. Use kron to implicitly do that.
G = [0 2 0;-1 1 0;-2 2 0];
F = [0 -1 0; 2 1 0; 0 1 0];
sol = null(kron(eye(3),F) - kron(G',eye(3)));
T = reshape(sol(:,1),[3,3])
T =
-0.44989 0.17925 1.1936e-16
0.17925 0.72053 -4.7178e-17
0.44989 -0.10133 -0.038959
I picked the first column of sol, but that choice was arbitrary. I could have used any linear combination of the columns of sol. Regardless, did it work?
inv(T)*F*T
ans =
3.8858e-16 2 9.5242e-19
-1 1 2.6559e-16
-2 2 5.3118e-16
norm(inv(T)*F*T - G)
ans =
1.0165e-14
So, ignoring the stuff that is on the order of eps, T does as required.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by