【发布时间】:2021-07-22 20:40:22
【问题描述】:
我正在尝试计算一个函数的积分,其中实现了另一个积分的结果。它看起来有点像以下:
import numpy as np
import scipy.integrate as integrate
Formula_U=lambda t: 325 * np.sin(100 * np.pi * t -3)
Formula_I=lambda t: 100 * np.sin(100 * np.pi * t -3)
#To calculate:
Integral on [0,1] of ( Formula_I * INTEGRATED(Formula_U) )
Results = integrate.quad(Formula_I * ~~integrate.quad(Formula_U)~~ ,0,1)[0]
~~...~~ 之间的部分不起作用。我知道integrate.quad 不支持这一点,但我正在寻找将积分公式“Formula_U”返回为formula 而不是值的东西,因此可以动态计算给定的积分。
我已经尝试查看其他帖子,但我找不到任何关于无限制计算公式积分的内容。我尝试使用 lambda 将积分硬编码为一个单独的变量,但只要我在方程中添加一些谐波正弦波,输入正弦波就会发生变化,所以这不是一个选项。
我尝试过使用 sympy 做一些事情,但我不知道如何使用 lambda 将字符串转换为变量。
提前致谢!
【问题讨论】:
-
您可以将 Formula_U 定义为对象函数而不是 lambda,并将其传递给integrate.quad
标签: python math scipy sympy integral