Python 积分

标签 python lambda integration scipy integrate

我正在尝试从 0 求解 (2**(1/2)*y**(1/2)/2)**2 的积​​分5 (也显示 here )。我一直在使用

func = lambda y: (  2**(1/2) * y**(1/2)/2  )**2 and a == 0 and b == 5
from scipy import integrate
integrate.quad(func, a b)

由于某种原因,我不断得到值 1.25,而 Wolfram 说它应该是 6.25?我似乎无法指出错误。

附:对于错误 katrie,抱歉,我忘记了 python 使用 and 不是 && 进行逻辑 AND


已解决: 这是一个愚蠢的 int/float 错误。谢谢大家。

最佳答案

好吧,让我用正常数学符号来写你的函数(我无法用Python思考)。我不喜欢 **,因为它会让人困惑:

(2**(1/2)*y**(1/2)/2)**2      =>
(2^(1/2) * (1/2) * y^(1/2))^2 =>
2 * (1/4) * y                 =>
y / 2

所以要整合,反分化(我只是在大声思考):

antidifferentiate(y / 2) = y^2 / 4

因此

integral('y / 2', 0, 5) =
5^2 / 4 - 0^2 / 4 =
25 / 4 = 
6.25

对。您是否尝试过用 0.5 替换 1/2 ?它可以解释为两个整数的商,并向上舍入。

试试这个(正如其他人建议的那样):

func = lambda y: (2**(0.5) * y**(0.5) / 2.0)**2.0 & a == 0 & b == 5

from scipy import integrate
integrate.quad(func, a b) # What's 'a b'? Maybe 'a, b' would work?

祝你好运!

关于Python 积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4446611/

相关文章:

c# - LINQ/Lambda 通过将列表项分成偶数组来更新列表项

callback - 关于 webhook 的问题

python - 具有自定义宽度的动画 Kivy Bezier 曲线? (有点傻的问题)

python - 如何访问 Django Import Export 的 before_save_instance 中的行数据

c++ - 无法将 QStringList 从 lambda 返回到函数中

Ruby 将上下文分配给 lambda?

eclipse - 是否有任何 Gradle eclipse IDE 集成?

java - 为什么 akka 的 spring 集成文档只存在于 1.3.1 而不是下一个版本

python - BOTO3 - `put_object` 的generate_presigned_url 返回 `The request signature we calculated does not match the signature you provided`

python - 将 PyFloatObject 转换为 float