4

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

syms x
x/(pi.^2)
ans =
(281474976710656*v)/2778046668940015

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

它是一个错误吗?

4

2 回答 2

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

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

syms x real;
pi_s = sym('pi');
expr = x/pi_s^2

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

希望这可以帮助,

于 2012-10-16T19:40:33.647 回答
2

不,这不是错误:

2778046668940015/281474976710656 = 9.8696
于 2012-10-16T18:31:42.057 回答