roots of 3*3 matrix determinant

2 Ansichten (letzte 30 Tage)
Cem Eren Aslan
Cem Eren Aslan am 5 Jan. 2022
Bearbeitet: David Goodmanson am 8 Jan. 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 Kommentare
Cem Eren Aslan
Cem Eren Aslan am 5 Jan. 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 am 5 Jan. 2022
solve(det(M), 'maxdegree', 3)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Goodmanson
David Goodmanson am 6 Jan. 2022
Bearbeitet: David Goodmanson am 8 Jan. 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.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by