How to solve a third order polynom?

조회 수: 10 (최근 30일)
ChristianM89
ChristianM89 2018년 8월 22일
댓글: Star Strider 2018년 8월 22일
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
Dimitris Kalogiros
Dimitris Kalogiros 2018년 8월 22일
It seems that you can solve a polynomial equation of 3rd degree. What exactly your question is ?

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2018년 8월 22일
Use the related vpasolve function for ‘eqn2’:
vpasolve(eqn2,x)
30.000001280214526389167507957467
101.99999935989273680541624602127 - 41.56921827295475289777603563479i
101.99999935989273680541624602127 + 41.56921827295475289777603563479i
  댓글 수: 2
ChristianM89
ChristianM89 2018년 8월 22일
Great, it works. Thanks =)
Star Strider
Star Strider 2018년 8월 22일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Torsten
Torsten 2018년 8월 22일
Use MATLAB'S "roots".
Best wishes
Torsten.

카테고리

Help CenterFile Exchange에서 Numeric Solvers에 대해 자세히 알아보기

태그

제품


릴리스

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by