vpasolve only shows 5 significant figures

4 次查看(过去 30 天)
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!

回答(1 个)

Steven Lord
Steven Lord 2025-4-1
移动:Walter Roberson 2025-4-1
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 个评论
Walter Roberson
Walter Roberson 2025-4-1
Heh. I knew the cause of the problem from the Title to the question alone ;-)
Eddie
Eddie 2025-4-2
Haha, Google Gemini needs to scrape your brain then because it didn't ;)
Thanks guys!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by