How can I force simplify function I want?
8 views (last 30 days)
Show older comments
Ismail Taygun Bulmus
on 16 Dec 2020
Commented: Star Strider
on 18 Dec 2020
I have a problem about both simplify and subs functions.
- Simplify function is not working in the following example.
syms mu B cc M M_bar E V_N sigma_1;
sigma_1 = sqrt((M+M_bar-4*E*V_N)^2+(2*mu*B)^2);
cantSimplified_Var = simplify(sqrt(4*B^2*mu^sym(2) + 16*E^sym(2)*V_N^2 - 8*E*M*V_N - 8*E*M_bar*V_N + M^2 + 2*M*M_bar + M_bar^2));
isequal(expand(sigma_1),cantSimplified_Var)
ans =
logical
1
isequal(sigma_1,cantSimplified_Var)
ans =
logical
0
2. I want to continue with my new defined function. For example,
syms A B C
A = B^2;
C = A + B^2
C =
2*B^2
Here, I want to see equation like "C = 2*A". Is it possible?
It is related to my first question, because if I can see the expression like "C = 2*A", I will continue my calculation whether MATLAB simplify it correctly or not.
0 Comments
Accepted Answer
Star Strider
on 16 Dec 2020
Tell MATLAB to keep slimplfying until it cannot simplify it further (or reaches the iteration limit), then test equality with the isAlways function:
syms mu B cc M M_bar E V_N sigma_1;
sigma_1 = sqrt((M+M_bar-4*E*V_N)^2+(2*mu*B)^2);
cantSimplified_Var = simplify(sqrt(4*B^2*mu^sym(2) + 16*E^sym(2)*V_N^2 - 8*E*M*V_N - 8*E*M_bar*V_N + M^2 + 2*M*M_bar + M_bar^2), 'Steps',500);
Test = isAlways(sigma_1 == cantSimplified_Var)
producing:
Test =
logical
1
.
4 Comments
More Answers (0)
See Also
Categories
Find more on Assumptions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!