vpasolve only shows 5 significant figures

3 views (last 30 days)
Eddie
Eddie on 1 Apr 2025
Commented: Eddie on 2 Apr 2025
Hello,
MATLAB help shows the following command should produce the result shown below
syms x
S = vpasolve(sin(x) == 1/2, x)
S = 
0.52359877559829887307710723054658
but on my machine it produces the following result
S = 0.5236
Similarly the command below should produce the result shown below
vpa(pi,10)
ans = 
3.141592654
but on my machine it produces the following result
ans = 3.1416
Why am I only getting 4 decimal places of precision? I've tried the digits(10) command but it doesn't help.
Any help greatly appreciated.
Thanks!

Answers (1)

Steven Lord
Steven Lord on 1 Apr 2025
Moved: Walter Roberson on 1 Apr 2025
Let's make sure you're using the functions from Symbolic Math Toolbox. What do these commands display?
which -all syms
/MATLAB/toolbox/symbolic/symbolic/syms.m
which -all vpasolve
/MATLAB/toolbox/symbolic/symbolic/@sym/vpasolve.m % sym method
which -all vpa
/MATLAB/toolbox/symbolic/symbolic/vpa.m /MATLAB/toolbox/symbolic/symbolic/@sym/vpa.m % sym method
Also what are your symbolic preferences? In particular, what is the FloatingPointOutput preference value?
sympref
ans = struct with fields:
FourierParameters: [1 -1] HeavisideAtOrigin: 1/2 AbbreviateOutput: 1 TypesetOutput: 1 FloatingPointOutput: 0 PolynomialDisplayStyle: 'default' MatrixWithSquareBrackets: 0
  3 Comments
Walter Roberson
Walter Roberson on 1 Apr 2025
Heh. I knew the cause of the problem from the Title to the question alone ;-)
Eddie
Eddie on 2 Apr 2025
Haha, Google Gemini needs to scrape your brain then because it didn't ;)
Thanks guys!

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!