首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python积分

Python积分
EN

Stack Overflow用户
提问于 2010-12-15 04:10:55
回答 3查看 1.7K关注 0票数 2

我试图求解(2**(1/2)*y**(1/2)/2)**205的积分(也显示了这里)。我一直在用

代码语言:javascript
复制
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?我似乎不能指摘这个错误。

附注:对不起,卡特里耶,我忘了python使用和不使用&&用于逻辑和

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-15 04:36:21

好吧,让我用普通的数学表示法来写你的函数(我不能用Python思考)。我不喜欢**,因为它会让人感到困惑:

代码语言:javascript
复制
(2**(1/2)*y**(1/2)/2)**2      =>
(2^(1/2) * (1/2) * y^(1/2))^2 =>
2 * (1/4) * y                 =>
y / 2

因此,为了整合,反区分(我只是在大声思考):

代码语言:javascript
复制
antidifferentiate(y / 2) = y^2 / 4

因此

代码语言:javascript
复制
integral('y / 2', 0, 5) =
5^2 / 4 - 0^2 / 4 =
25 / 4 = 
6.25

正确的。你试过用1/2代替0.5吗?它可以被解释为两个整数的商,这是舍入的。

试试这个(就像其他人建议的那样):

代码语言:javascript
复制
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?

祝好运!

票数 3
EN

Stack Overflow用户

发布于 2010-12-15 04:56:40

问题是Python看到(1/2)并用整数除法计算它,得到零。

票数 2
EN

Stack Overflow用户

发布于 2010-12-15 04:14:14

那么它的价值应该是多少?另外,你应该在你的方程中加上更多的括号。我不知道(2**(1/2)*y**(1/2)/2)**2被解析成什么样子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4446611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档