How to get roots of determinant (characteristic) equation?

25 visualizaciones (últimos 30 días)
Hello all, I am solving an eigenvalue problem and giving symbolic matrix as input. I want to find roots of characteristic equation, I mean, roots of determinant of matrix equated to zero. Here I give script:
clear all;
close all;
clc;
syms w
A=[-2000*w^2+280*1e3,-280*1e3;280*1e3,-2000*w^2+280*1e3];
fun = matlabFunction(det(A))
I want to find roots of fun(). This is a polynomial equation of 4th order, so I should have 4 roots. If I use fzero, it just gives a local solution to problem, but I want to have all roots. Can you suggest something? Ofcourse, I can write coefficients of det(A) manually and pass it to roots([...]). But I don't want to write manually. I am even trying to bypass symbolics, as for large matrix, symbolic variables are computationally very expensive. Any comments? Thanks in advance!

Respuesta aceptada

Star Strider
Star Strider el 30 de Abr. de 2014
Editada: Star Strider el 30 de Abr. de 2014
Use the Symbolic Math Toolbox solve function:
DA = det(A)
W = solve(DA,w)
produces:
W =
(140 + 140*i)^(1/2)
(140 - 140*i)^(1/2)
-(140 + 140*i)^(1/2)
-(140 - 140*i)^(1/2)
  4 comentarios
Amit Kumar
Amit Kumar el 30 de Abr. de 2014
Thanks a lot!!!

Iniciar sesión para comentar.

Más respuestas (1)

Pratik Baraiya
Pratik Baraiya el 4 de Oct. de 2021
clear all;
close all;
clc;
syms w
A=[-2000*w^2+280*1e3,-280*1e3;280*1e3,-2000*w^2+280*1e3];
fun = matlabFunction(det(A))
fun = function_handle with value:
@(w)w.^2.*-1.12e+9+w.^4.*4.0e+6+1.568e+11
  1 comentario
Walter Roberson
Walter Roberson el 4 de Oct. de 2021
What is your recommendation to proceed from fun to find the roots of fun ?

Iniciar sesión para comentar.

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by