2010-12-15 5 views
2

(2**(1/2)*y**(1/2)/2)**2의 정수를 0에서 5 (또한 here으로 표시)에서 풀려고합니다. 텅스텐 그것이 6.25이어야한다라고하는 동안은, 어떤 이유로, 나는 값 1.25가 계속 들어파이썬 통합

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) 

를 사용하여 봤는데? 나는 실수에 손가락을 대고있는 것처럼 보일 수 없다.

p.s. 에러 katrie 미안 그 파이썬 용도 잊고하지 & & 대한 논리 AND


해결 : 이 바보 INT/플로트 에러이었다. 모두에게 고마워.

+0

&&는 무엇입니까? – katrielalex

+2

어떤 버전의 파이썬을 사용하고 있습니까? 많은 Python 버전에서'1/2'는'0'으로 평가됩니다. 또한 WolframAlpha 링크는 0과 5 사이의 'y/2'의 적분에 대한 답을 보여줍니다. – dheerosaur

+0

또한 위에서 쓴 함수가 단지 'y/2'라는 것을 알고 있습니까? ... – katrielalex

답변

3

음, 수학 표기법으로 함수를 작성하겠습니다 (저는 파이썬에서 생각할 수 없습니다). 이 혼란수록 나는 **을 좋아하지 않는다 :

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

그래서, 통합 antidifferentiate하는 (난 그냥 큰소리로 생각하고) :

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

따라서

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

오른쪽. 1/20.5으로 바꾸려고 시도 했습니까? 반올림 한 두 정수의 지수로 해석 될 수 있습니다. (다른 사람이 제안으로)

이 시도 :

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? 

행운을 빕니다!

+0

문제는 정수에 불과했습니다. 그 모든 것을 쓸 시간을 내 주셔서 감사합니다! 내가 물어봐야 할 것, 어떻게 든 블렌더에 참여 했니? –

+0

저는 (개발자가 아닌 사용자로서) 상당히 관련되어 있습니다. 나는 몇 년 전에 실패한 BlenderOS를 여전히 부활시키고 있습니다. – Blender

+0

또한 문제가 없습니다. 우등 미적분 결승전은 이번 주에, 그래서 나는 잠을 잘 수있다.) – Blender

0

그럼 가치가있는 것은 무엇입니까? 또한 방정식에 더 많은 괄호를 써야합니다. 나는 (2**(1/2)*y**(1/2)/2)**2이 무엇이 될지 전혀 모릅니다.

+0

wolframalpha에 링크 된 이유는 6.25입니다. 추신.OP –

+0

에 약간의 간격을 추가했습니다. wolfram이 어떻게 파싱하는지 알 수 있습니다.하지만 파이썬이 파싱하는 방법입니다. – Falmarri

+0

예, 파이썬은 실제로 y = 2 * x ** 2에서 x에 대해 풀었습니다. 그리고 그것은 wolfram으로 체크 아웃했습니다 –

2

문제는 파이썬이 (1/2)을보고 0을 산출하는 정수 나누기로 평가한다는 것입니다.