【发布时间】:2019-11-12 17:51:07
【问题描述】:
我有一个函数 [ -4*x/sqrt(1 - (1 - 2*x^2)^2) + 2/sqrt(1 - x^2) ] 我需要在 x=0 处进行评估.但是,每当您绘制此函数时,对于某个 y 区间,在 x=0 处有许多 y 值。这让我认为 (subs) 命令只能返回一个 y 值。对此有任何帮助或详细说明吗?谢谢!
如果有帮助,这是我的代码:
x = symbols('x')
f = 2*asin(x) # f(x) function
g = acos(1-2*x**2) # g(x) function
eq = diff(f-g) # evaluating the derivative of f(x) - g(x)
eq.subs(x, 0) # substituting 0 for x in the derivative of f(x) - g(x)
运行代码后,它返回 NaN,我认为这是因为用 0 代替 x 返回的不是单个数字,而是一个数字范围。
【问题讨论】:
-
limit(eq, x, 0, '-')给出 4。limit(eq, x, 0, '+')似乎永远运行... -
diff(g).subs(x, e)接近+/- 2,因为e从任一侧接近0。 -
wolfram alpha 将 0 作为右侧的限制,将 4 作为左侧的限制。 SymPy 似乎很困惑。
-
如果表达式中的替换结果为
0/0,则返回nan。
标签: python sympy substitution