问题描述 投票:0回答:1
我使用

.doit()

强制对潜艇进行评估,但似乎行不通。 我也更改了诸如
simplify=False
的差异化选项,但没有效果。

为什么Sympy.diff()在此处介绍一个s表达以及如何避免它? 如何将此衍生物转换为lambdify可以在没有错误的情况下处理的形式?

任何洞察力或其他方法都将不胜感激!
    

使用
asin
subs

In [82]: a,x = sp.symbols('a x') In [83]: formula=sp.asin(a**x); formula Out[83]: asin(a**x) In [84]: d_formula=sp.diff(formula,x, simplify=False); d_formula Out[84]: a**x*log(a)/sqrt(1 - a**(2*x)) In [85]: d_formula.subs({a:.5, x:2}) Out[85]: -0.178969832451953

现在我们可以使用
python sympy lambdify
1个回答
0
投票

In [86]: foo = sp.lambdify((a,x),d_formula)

In [87]: help(foo)
Help on function _lambdifygenerated:

_lambdifygenerated(a, x)
    Created with lambdify. Signature:

    func(a, x)

    Expression:

    a**x*log(a)/sqrt(1 - a**(2*x))

    Source code:

    def _lambdifygenerated(a, x):
        return a**x*log(a)/sqrt(1 - a**(2*x))

In [88]: foo(.5,2)
Out[88]: np.float64(-0.1789698324519529)
	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.