Solving an equation on MATLAB

2 views (last 30 days)
Alex Mannings
Alex Mannings on 22 Nov 2013
Commented: Alex Mannings on 19 Dec 2013
Hi Everyone,
How can i solve this equation for Mx in MATLAB. Mx has to be a real root. (nux and gam are known)
nux= ((gam+1)/(gam-1))^(1/2) * atan(((gam-1)/(gam+1))*(Mx^2-1))^(1/2)-atan(Mx^2-1)^(1/2);
I really need to solve this since the rest of the code depends on the solution of this equation.
Thank you.
  1 Comment
Walter Roberson
Walter Roberson on 22 Nov 2013
Interestingly, Maple 16 solve() generates a large number of false roots given specific nux and gam, such as nux=0 and gam=6/5

Sign in to comment.

Accepted Answer

Alan Weiss
Alan Weiss on 22 Nov 2013
Try fzero. I suggest that you give an initial interval such as [1,1000] because you will get an error if fzero tries a value less than 1 (the square root of a negative number is complex, and fzero deals with real numbers only.
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (0)

Community Treasure Hunt

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

Start Hunting!