Pi,Matlab符号数学工具箱有bug吗?

Alb*_*rto 4 matlab symbolic-math

你好,我有一个问题.当我在matlab中计算除法时:x /(pi.^ 2)

syms x
x/(pi.^2)
ans =
(281474976710656*v)/2778046668940015
Run Code Online (Sandbox Code Playgroud)

正确的答案是x/9.8696,那么为什么matlab会给我这个结果呢?

这是一个错误吗?

jes*_*ana 9

您必须使用vpa()命令"变量精度算术".检查此代码:

syms x real;       % define x as a real symbolic variable (not a complex variable)
vpa( x/(pi.^2), 5) % second argument define number of significant digits
Run Code Online (Sandbox Code Playgroud)

对于涉及pi的三角表达式,有时定义sym('pi')是好的:

syms x real;
pi_s = sym('pi');
expr = x/pi_s^2
Run Code Online (Sandbox Code Playgroud)

我尝试在使用符号工具箱时始终使用"真实"标记.如果你不使用它,你会看到很多复杂的共轭和其他对你的问题不重要的东西,因为x可能是真正的变量.

希望这可以帮助,