Display symbolic expressions as rational.

30 views (last 30 days)
How can I display symbolic expressions as rationals? Functions like sympref or vpa allows to display in decimal format, but doesn't provide a way to display symbolic expressions as rationals.
For example:
syms x
(1/2)*(3*x^2)
ans =
1.5000*x^2
Instead of that output I desire the rational expression (or similar):
(3*x^2)/2
  1 Comment
James Tursa
James Tursa on 2 Feb 2021
That's what I get:
>> syms x
(1/2)*(3*x^2)
ans =
(3*x^2)/2
Do you have something set in preferences that is forcing the decimal output?

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 2 Feb 2021
Edited: madhan ravi on 2 Feb 2021
syms x
sympref('FloatingPointOutput',true);
(1/2)*(3*x^2)
ans = 
sympref('FloatingPointOutput',false);
(1/2)*(3*x^2)
ans = 
  3 Comments
Diaa
Diaa on 18 Dec 2021
Thanks to you for this answer, and special thanks to google algorithm for bringing me here without wasting my whole day.
Robert Ukrow
Robert Ukrow on 26 Jan 2022
Had the same problem and it worked..thanks !

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!