How to solve a third order polynom?

8 visualizaciones (últimos 30 días)
ChristianM89
ChristianM89 el 22 de Ag. de 2018
Comentada: Star Strider el 22 de Ag. de 2018
I need some help solving a third order polynom. I have the function showen in the code. And I would like to get x. The first solution i expect is 30 for the code below.
Later I would like to solve e.g.: "fun == 200" and I expect the result to be 10.859
syms x;
fun = (pi*(x^3 - 234*x^2 + 18252*x))/2700;
eqn1 = fun == (674*pi)/5; %original Function
eqn2 = fun == 423.4867; %rounded
solve(eqn1,x)
30
102 - 3^(1/2)*24i
102 + 3^(1/2)*24i
solve(eqn2,x)
root(4398046511104*z^3*pi - 1029142883598336*z^2*pi + 80273144920670208*z*pi - 5028788349271654875, z, 1)
root(4398046511104*z^3*pi - 1029142883598336*z^2*pi + 80273144920670208*z*pi - 5028788349271654875, z, 2)
root(4398046511104*z^3*pi - 1029142883598336*z^2*pi + 80273144920670208*z*pi - 5028788349271654875, z, 3)
  1 comentario
Dimitris Kalogiros
Dimitris Kalogiros el 22 de Ag. de 2018
It seems that you can solve a polynomial equation of 3rd degree. What exactly your question is ?

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 22 de Ag. de 2018
Use the related vpasolve function for ‘eqn2’:
vpasolve(eqn2,x)
30.000001280214526389167507957467
101.99999935989273680541624602127 - 41.56921827295475289777603563479i
101.99999935989273680541624602127 + 41.56921827295475289777603563479i
  2 comentarios
ChristianM89
ChristianM89 el 22 de Ag. de 2018
Great, it works. Thanks =)
Star Strider
Star Strider el 22 de Ag. de 2018
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Torsten
Torsten el 22 de Ag. de 2018
Use MATLAB'S "roots".
Best wishes
Torsten.

Etiquetas

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by