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会给我这个结果呢?
这是一个错误吗?
您必须使用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可能是真正的变量.
希望这可以帮助,