want to get only all positive real roots

44 views (last 30 days)
mosab qteshat
mosab qteshat on 22 Apr 2019
Edited: Dokeun Hwang on 22 May 2021
Compute all positive real roots of x^4 + 2*x^3 − 7*x^2 + 3 = 0.
I want to discard all the imaginary ones and keep only the positive real root only
Can someone please guide me on that???
  1 Comment
Steven Lord
Steven Lord on 22 Apr 2019
Show us what you've written so far and we may be able to suggest how to modify your code to return the positive real roots.

Sign in to comment.

Answers (1)

Raj
Raj on 23 Apr 2019
Edited: Raj on 23 Apr 2019
Use this:
p=[1 2 -7 0 3] % Your Polynomial equation coefficients matrix
A=roots(p) % All roots of equation
B=A(A>=0) % Only positive real roots of equation
This will be a useful read.
  4 Comments
Walter Roberson
Walter Roberson on 23 Apr 2019
Looks like this particular equation has only real roots, two negative and two postive.
Dokeun Hwang
Dokeun Hwang on 22 May 2021
Edited: Dokeun Hwang on 22 May 2021
The answer above gives all the real parts in the roots
So, it should be corrected as below
B=A(real(A)>0&imag(A)==0);
ref: https://kr.mathworks.com/matlabcentral/answers/89612-how-to-select-real-positive-number

Sign in to comment.

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!