2016-12-29 1 views
2

수학 범위 에러의 원인 (1/1 + t)) + 통합없는 (- 1/EXP (t)) [0, np.inf]내가 파이썬이를 통합 할 수

import numpy as np 
from math import exp 
from scipy.integrate import quad 

print(quad(lamba t: (1/1+t))+(-1/exp(t)),0,np.inf) 

그것은 오일러

This is what i want to integrate

+0

두 가지 :'labda'는'lambda'이어야합니다; 라텍스 이미지가 보여 주듯이'(1/1 + t) = 1 + t'가 아니라'(1/(1 + t)) '가됩니다. –

+0

전체 추적을 추가하기 위해 게시물을 편집 할 수 있습니까? –

+0

@hiroprotagonist 댓글을 달기 전에 더 자세히 읽어보십시오. 방정식 ("latex version")에서, 그것은'-exp (-x)'이며, 이는 정확히 -1/exp (t)와 동일합니다. '-exp (t)'가 잘못되었습니다. –

답변

1

:

lambda t: 1/(1+t) - exp(-t) 

가 마지막 라인을 변경해보십시오 오일러 상수.

오일러 상수 (I 이미지를 게시 할 수 없습니다 죄송합니다)과 같이 정의된다

import numpy as np 
from math import exp 
from scipy.integrate import quad 
f = lambda t: 1/t * (1/(1+t) - exp(-t)) 

In [21]: quad(f, 0.0, np.inf) 
Out[21]: (0.5772156649015537, 3.613579096292482e-10) 

결과는 다음과 같습니다

http://imgur.com/W5brbW4

그래서 다음에 lambda 기능을 변경해야 0.5772156649015537은 오일러 상수의 값입니다.

+0

의견을 남겨주세요. 너는 내 문제를 해결해. – Davidmp11

0

일정 당신은 SyntaxError를 제기해야하는, lambda 대신 lamba을 썼다 표시해야합니다.

게다가, 당신의 방정식을 읽고, 당신이 전달하는 기능을 대신해야한다 : 당신은 결코이 핵심으로, 그런데

print(quad(lambda t: (1/(1+t) - exp(-t)), 0, np.inf)) 
관련 문제