我想积分从 -1 到 1 的两个函数的x(t)*p1(t)乘积t。目前我编写了以下代码:
import scipy.integrate as s
import numpy as np
p1 = lambda t: 1
p2 = lambda t: t
p3 = lambda t: (3*(t**2)-1)/2
x = lambda t: abs(t)
integral = s.quad(x*p1, -1, 1)
print(integral)
但是,我收到以下错误:
TypeError: unsupported operand type(s) for *: 'function' and 'function'
是否可以将两个 lambda 函数以符号方式组合起来进行积分?我可以定义一个函数xp1 = lambda t: x(t)*p1(t),但由于我必须为所有人执行此操作pn,所以这似乎效率很低。
有没有更干净的方法来做到这一点?
ABOUTYOU
相关分类