Probleme pour tracer une fonction python
jjsch21
Messages postés
2
Statut
Membre
-
Phil_1857 Messages postés 1956 Statut Membre -
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour, j'essaye de tracer le graphe de ma fonction g définie ci dessous mais ça me met une erreur que je ne comprends pas... ma fonction marche mais c'est le traçage du graphe qui ne marche pas..
def fact(n):
if n<2:
return 1
else:
return n*fact(n-1)
def caga(a,x):
if x>0 and x<1 :
return (1/fact(a-1))*x**(a-1)
elif x>=1 :
return (1/fact(a-1))*np.exp(-x)
else :
return 0
caga(2,3)
x_grid = np.linspace (0,5,100)
plt.plot(x_grid,caga(a,x_grid))
ça me met : ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
lorsque je remplace par
def caga(a,x):
if x.any()>0 and x.any()<1 :
return (1/fact(a-1))*x**(a-1)
elif x.any()>=1 :
return (1/fact(a-1))*np.exp(-x)
else :
return 0
ça me met l'erreur suivante :
x and y must have same first dimension, but have shapes (100,) and (1,)
Je ne comprends vraiment pas.. Merci d'avance pour votre aide :)
def fact(n):
if n<2:
return 1
else:
return n*fact(n-1)
def caga(a,x):
if x>0 and x<1 :
return (1/fact(a-1))*x**(a-1)
elif x>=1 :
return (1/fact(a-1))*np.exp(-x)
else :
return 0
caga(2,3)
x_grid = np.linspace (0,5,100)
plt.plot(x_grid,caga(a,x_grid))
ça me met : ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
lorsque je remplace par
def caga(a,x):
if x.any()>0 and x.any()<1 :
return (1/fact(a-1))*x**(a-1)
elif x.any()>=1 :
return (1/fact(a-1))*np.exp(-x)
else :
return 0
ça me met l'erreur suivante :
x and y must have same first dimension, but have shapes (100,) and (1,)
Je ne comprends vraiment pas.. Merci d'avance pour votre aide :)
A voir également:
- Probleme pour tracer une fonction python
- Fonction si et - Guide
- Citizen code python avis - Accueil - Outils
- Tracer une adresse mail - Guide
- Fonction miroir - Guide
- Comment tracer une courbe sur excel - Guide
5 réponses
Bonsoir,
L'indentation étant importante en Python, peux-tu re poster ton code complet
(tu nous a donné juste un extrait )avec les balises,
mode d'emploi ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
L'indentation étant importante en Python, peux-tu re poster ton code complet
(tu nous a donné juste un extrait )avec les balises,
mode d'emploi ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonsoir,
Merci pour votre réponse, j'essaie de vous joindre le code comme vous me l'avez indiqué..
Merci pour votre réponse, j'essaie de vous joindre le code comme vous me l'avez indiqué..
import numpy as np
import scipy as sp
from scipy.stats import norm, expon, uniform, gamma
import matplotlib.pyplot as plt
def fact(n):
if n<2:
return 1
else:
return n*fact(n-1)
def caga(a,x):
if x>0 and x<1 :
return (1/fact(a-1))*x**(a-1)
elif x>=1 :
return (1/fact(a-1))*np.exp(-x)
else :
return 0
a=0.7 # on prend un a entre 0 et 1
x_grid = np.linspace (0,5,100)
plt.plot(x_grid,caga(a,x_grid))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question