roots of 3*3 matrix determinant

7 visualizaciones (últimos 30 días)
Cem Eren Aslan
Cem Eren Aslan el 5 de En. de 2022
Editada: David Goodmanson el 8 de En. de 2022
Hello all,
I have a matrix as follows;
M = [k(1,1)-12*w k(1,2) k(1,3);k(2,1) k(2,2)-2*w k(2,3);k(3,1) k(3,2) k(3,3)-4*w ];
i want to solve and to find three roots of det(M)=0
how can i solve this?
thanks
  3 comentarios
Cem Eren Aslan
Cem Eren Aslan el 5 de En. de 2022
Yes, i have, but result is as follows;
root(z^3 - (131891655112916159*z^2)/26388279066624 + (692241875910773148691733542859037*z)/309485009821345068724781056 - 5152005758176027364447462631233389326948016877/42535295865117307932921825928971026432, z, 1)
Walter Roberson
Walter Roberson el 5 de En. de 2022
solve(det(M), 'maxdegree', 3)

Iniciar sesión para comentar.

Respuesta aceptada

David Goodmanson
David Goodmanson el 6 de En. de 2022
Editada: David Goodmanson el 8 de En. de 2022
Hi Cern,
I assume you mean the three values of w that give a 0 determinant. Eig works for this.
K = rand(3,3)
c = diag([12 2 4]); % the three coefficients of w down the diagonal
Knew = inv(c)*K % multiply the first row of K by 1/12, second row by 1/2, etc.
w = eig(Knew) % roots
% check, should be small; they are.
det(K-w(1)*c)
det(K-w(2)*c)
det(K-w(3)*c)
K =
0.4169 0.3829 0.3334
0.3801 0.0297 0.9758
0.2133 0.4723 0.5554
Knew =
0.0347 0.0319 0.0278
0.1901 0.0148 0.4879
0.0533 0.1181 0.1389
w =
0.3447
0.0218
-0.1781
In practice, for larger matrices one would use c\K instead of inv(c)*K but the latter expression seems clearer in these circumstances.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by