Je reçois un ValueError
lors de l'intégration à l'aide de scipy.integrate.quad
. Voici mon code simplifié:ValueError lors de l'utilisation de scipy.integrate.quad
import numpy as np
import scipy.integrate as integrate
p = np.arange(0,1,1/1000)
h = lambda p: p**2/2+p*(1-p)
Kl = lambda p: h(p) + 0.02
K = Kl(p)
R = 0.5*h(p) + 0.5*h(1)
Vl = lambda p: np.minimum.reduce([p, K, R])
integrate.quad(Vl, 0, 1)[0]
La dernière ligne donne l'exception:
ValueError: setting an array element with a sequence.
Quelqu'un peut-il s'il vous plaît proposer comment faire cette intégration correctement? Merci
Pourriez-vous expliquer votre fonction 'Vl'? Que voulez-vous 'np.minimum.reduce ([p, K, R])' faire? – DSM
Merci @DSM. Je voudrais qu'il prenne le minimum élémentaire de p, K et R. Je le considère comme une fonction mathématique Vl (p, K (p), R (p)) – splinter
C'est le même code que http://stackoverflow.com/questions/42342409/valueerror-when-defining-a-lambda-function-in-python; juste une question légèrement différente. – hpaulj