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..

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
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