Is it possible to avoid symbolic math for below query
Mostrar comentarios más antiguos
I have two matrices a and b. I need to find the value of x such that the determinant of (a + bx) is 0. The size of the matrices is 4x4. So in effect I need the roots of 4th order polynomial in variable x.
I did it by using the symbolic math tool box and below code :
syms l; char_matrix=a + l*b; determinant=det(char_matrix); R=solve(determinant);
This code is working but its taking too long for solving . Is there any way I can avoid symbolic math in such a situation as I think symbolic math takes longer than numerical math. Thank you for your time.
Respuesta aceptada
Más respuestas (2)
John D'Errico
el 9 de Jun. de 2011
If A and B are known, then this is a simple problem using roots. I'll use my sympoly toolbox to show what is happening, and a way to solve it. Pick two arbitrary matrices.
>> A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> B = round(rand(4)*5)
B =
1 2 2 3
4 3 3 3
5 2 2 1
0 2 4 5
See that the determinant is a polynomial of 4th degree in x.
>> det(A+B*x)
ans =
1125*x^2 + 406*x^3 + 4*x^4
>> roots(det(A+B*x))
ans =
0
0
-98.649
-2.851
There are 4 solutions here as you would expect. They need not all be real.
Categorías
Más información sobre Linear Algebra en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!