How can I get a better simplification of my results

7 views (last 30 days)
I have been working on a program that gives me some results as a function of "k" and "m" (symbolic variables). However, this result is shown as this:
When, it is much simpler, the solution is just this:
How can I manage to make Matlab give me the result in a more digestible way? (I've already tried "simplify")
Thank you very much guys

Accepted Answer

Takumi
Takumi on 24 Jun 2020
syms k m
s = [-(3*10^(1/2)*(k*m)^(1/2))/(10*m);
(3*10^(1/2)*(k*m)^(1/2))/(10*m)];
assume([m,k],'positive');
s_sign = sign(s); % signum
assume([m,k],'clear') % reset assume
S = s.^2;
S = simplify(S);
s = s_sign.*sqrt(S)
s = 
  2 Comments
Ahmet Anil
Ahmet Anil on 23 Dec 2023
Whats your purpose at that lists?
assume([m,k],'positive');
s_sign = sign(s); % signum
assume([m,k],'clear')
Walter Roberson
Walter Roberson on 23 Dec 2023
syms k m
s = [-(3*10^(1/2)*(k*m)^(1/2))/(10*m);
(3*10^(1/2)*(k*m)^(1/2))/(10*m)];
s_sign = sign(s); % signum
S = s.^2;
S = simplify(S);
s = s_sign.*sqrt(S)
s = 
So the assume() is there to have the sign() vanish

Sign in to comment.

More Answers (0)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!