Sympy:使用符号表达式作为数字被积函数

时间:2016-10-22 14:31:24

标签: python sympy

我需要以符号方式操作函数,然后以数字方式集成函数。如何在被积函数中正确使用我的表达式f。如果这是合理的方式,我如何正确使用lambdify?非常感谢。

from sympy import *
import scipy.integrate as integrate

r = symbols('r')                         #define symbol
f = diff(r*r)                            #carry out symbolic manipulation

def integrand(x):                        #define function to integrate
    return lambdify(x, f)                #swap variable x into f

result = integrate.quad(integrand, 0, 5) #integrate numerically
print(result)

1 个答案:

答案 0 :(得分:3)

lambdify返回一个函数对象,不需要使用包装函数。另请注意,lambdify的第一个参数应该是表示包含在sympy表达式中的sympy符号(在本例中为r)的变量元组(在本例中为{{ 1}})作为第二个参数提供。

f_sym
  

import sympy as sp from scipy.integrate import quad r = sp.symbols('r') f_sym = sp.diff(r*r, r) f_lam = sp.lambdify(r, f_sym) result = quad(f_lam, 0, 5) print(result)