How to Simplify an symbolic expression
Show older comments
Hi all, I want to simplify this equation
a= 2 atan((-2+Sqrt(4-gama^2 *l^2* M^2-4* gama *l* M^2 *tan(gama/2)+4* tan(gama/2)^2-4 *M^2 *tan(gama/2)^2))/(gama* l* M+2* tan(gama/2)+2* M* tan(gama/2)))
into this form
a= (gama/2)-asin(((gama*l*M)/2)*cos(gama/2)+M*sin(gama/2))
Can anyone help?
7 Comments
Andrew Newell
on 18 Apr 2017
Edited: Andrew Newell
on 18 Apr 2017
Can you rewrite the first equation so it is valid MATLAB syntax? I presume a lot of the spaces imply multiplication, but I'm not sure.
safi58
on 20 Apr 2017
Torsten
on 20 Apr 2017
Compare the results of the two expressions for several choices of gamma and M.
If they agree, you can be quite sure that the two expressions are equal.
Best wishes
Torsten.
safi58
on 20 Apr 2017
Torsten
on 20 Apr 2017
If "simplify" on the first expression doesn't help, the question is not MATLAB related.
Best wishes
Torsten.
Torsten
on 20 Apr 2017
Or maybe this can help:
https://de.mathworks.com/help/symbolic/isequaln.html
Best wishes
Torsten.
safi58
on 21 Apr 2017
Answers (2)
Andrew Newell
on 21 Apr 2017
If I define
a= 2*atan((-2+sqrt(4-gama^2 *l^2* M^2-4* gama *l* M^2 *tan(gama/2)+4* tan(gama/2)^2-4 *M^2 *tan(gama/2)^2))/(gama* l* M+2* tan(gama/2)+2* M* tan(gama/2)));
b = (gama/2)-asin(((gama*l*M)/2)*cos(gama/2)+M*sin(gama/2));
and substitute pi for gama,
subs(a,gama,pi)
subs(b,gama,pi)
I get a==NaN and b==pi/2 - asin(M). So they are not the same. I find that applying simplify to a does not change it significantly.
5 Comments
safi58
on 21 Apr 2017
Andrew Newell
on 21 Apr 2017
Is there some reason that it shouldn't be giving imaginary values?
safi58
on 21 Apr 2017
Torsten
on 21 Apr 2017
I still don't understand why you try to transform the first expression into the second if - as you write - you are sure that both expressions yield the same values for a (at least in cases where both expressions are real-valued).
Best wishes
Torsten.
safi58
on 22 Apr 2017
Walter Roberson
on 21 Apr 2017
0 votes
I randomly substituted M=2, l=3. With those two values, the two expressions are not equal. One of the two goes complex from about gama = pi to gama = 17*pi/16 . From 17*pi/16 to roughly 48*Pi/41 the difference between the two is real valued . After that the difference has a real component of 2*pi and an increasing imaginary component.
8 Comments
Walter Roberson
on 22 Apr 2017
Edited: Walter Roberson
on 22 Apr 2017
The two are only the same in the range -pi to +pi, exclusive (there is a discontinuity at -pi and +pi)
Andrew Newell
on 22 Apr 2017
I have tried simplifying the expression with this assumption, but still no dice.
Walter Roberson
on 22 Apr 2017
The rewrite is not clear.
How did you get to know that the two were the same? How was the first one produced? It might be easier to find a different way of producing the expression.
safi58
on 22 Apr 2017
Edited: Walter Roberson
on 23 Apr 2017
Walter Roberson
on 23 Apr 2017
I copied the code, except changing to
sol = solve(eqns, m_c0, j_L0,theta1,m_c_theta1, 'returnconditions', true);
MATLAB thinks about it quite a while, and eventually says it cannot find a solution.
safi58
on 23 Apr 2017
Andrew Newell
on 23 Apr 2017
To summarize what Walter and I are saying, the two expressions are clearly not always equal, and the conditions under which they are equal are hard to pin down. Perhaps you should look more closely at how they did it in the article. Not that published work is always 100% correct.
Categories
Find more on Numeric Solvers 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!