How to Simplify an symbolic expression
Mostra commenti meno recenti
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 Commenti
Andrew Newell
il 18 Apr 2017
Modificato: Andrew Newell
il 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
il 20 Apr 2017
Torsten
il 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
il 20 Apr 2017
Torsten
il 20 Apr 2017
If "simplify" on the first expression doesn't help, the question is not MATLAB related.
Best wishes
Torsten.
Torsten
il 20 Apr 2017
Or maybe this can help:
https://de.mathworks.com/help/symbolic/isequaln.html
Best wishes
Torsten.
safi58
il 21 Apr 2017
Risposte (2)
Andrew Newell
il 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 Commenti
safi58
il 21 Apr 2017
Andrew Newell
il 21 Apr 2017
Is there some reason that it shouldn't be giving imaginary values?
safi58
il 21 Apr 2017
Torsten
il 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
il 22 Apr 2017
Walter Roberson
il 21 Apr 2017
0 voti
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 Commenti
Walter Roberson
il 22 Apr 2017
Modificato: Walter Roberson
il 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
il 22 Apr 2017
I have tried simplifying the expression with this assumption, but still no dice.
Walter Roberson
il 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
il 22 Apr 2017
Modificato: Walter Roberson
il 23 Apr 2017
Walter Roberson
il 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
il 23 Apr 2017
Andrew Newell
il 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.
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!