why I get imaginary part using solve function
Show older comments
I am trying to use the solve function but somehow I keep getting more than one answer with imaginary parts and negative numbers

the correct answer should be the second answer = 0.85
1 Comment
If you multiply eq4 by (1+y*m4^2)^2, you get a polynomial equation of degree 4 in m4. This equation has 4 zeros (which are listed in the output of vpasolve). Two of them are purely imaginary, two of them are real. One of the solution is the one you want (the second one).
Accepted Answer
More Answers (1)
David Hill
on 14 Jun 2022
y=1.4;
to3=300;
t_star=400;
eq4=@(m4)(((2*(y+1)*m4^2*(1+(y-1)/2)*m4^2))/(1+y*m4^2)^2)-to3/t_star;
m_4=fzero(eq4,.8)
Categories
Find more on Linear Algebra 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!