Je ne comprends pas l'erreur affichée dans ma Shell !

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, je ne comprends pas mon erreur qui est dans la console de mon IDE quelqu'un peut m'aider s'il vous plaît merci, je vous donne l'erreur affichée :
"fonctions_par_morceaux.py:32: RuntimeWarning: invalid value encountered in long_scalars
Y = lambda X : (L_xy[i][1]-L_xy[i][1])/(L_xy[i][0]-L_xy[i][0])*X + (L_xy[i][1]*L_xy[i][0] - L_xy[i][1]*L_xy[i][0])/(L_xy[i][0]-L_xy[i][0])"


merci d'avance pour toutes réponses ! ;)

import numpy as np
import matplotlib.pyplot as plt
import random

#======= Fonctions affines par morceaux =======

# Une nuage de points

X = np.array([-3,-2,-2,-1,-1, 1, 1, 2, 2, 3])
Y = np.array([-1,-1, 1, 1,-2,-2, 2, 2, 0, 0])

# Exemple
A = np.array([-1,-3]) #Xa, Ya
B = np.array([ 1, 4]) #Xb, Yb

# y = (Yb - Ya) / (Xb - Xa)*x + ((Ya*Xb) - (Yb - Xa)) / (Xb - Xa)
y = lambda x : (B[1]-A[1])/(B[0]-A[0])*x + (A[1]*B[0] - B[1]*A[0])/(B[0]-A[0])

x = np.linspace(-2,2,10)

plt.scatter([A[0],B[0]],[A[1],B[1]],s = 200, marker = 's', color = [[0.7,0.0,0.4]])
plt.plot(x,y(x))
plt.show()

def fonctions_affine_par_morceaux(ArrayX, ArrayY):
    L_xy = []
    plt.scatter(ArrayX, ArrayY, s = 100, marker = 'o', color = [[0.7,0.0,0.4]])
    X = np.linspace(-2,2,10)
    for x, y in zip(ArrayX, ArrayY):
        L_xy.append([x, y])
    for i in range(0, len(L_xy)):
        Y = lambda X : (L_xy[i][1]-L_xy[i][1])/(L_xy[i][0]-L_xy[i][0])*X + (L_xy[i][1]*L_xy[i][0] - L_xy[i][1]*L_xy[i][0])/(L_xy[i][0]-L_xy[i][0])
        plt.plot(X,Y(X))
    plt.show()


fonctions_affine_par_morceaux(X, Y)



Configuration: Windows / Chrome 78.0.3904.97

1 réponse

quent217 Messages postés 420 Date d'inscription   Statut Membre Dernière intervention   347
 
Bonjour,
La différence entre un nombre et lui même donne toujour 0, ce qui fait que cette partie du calcul :
(L_xy[i][1]-L_xy[i][1])/(L_xy[i][0]-L_xy[i][0])
donnera toujours 0/0 qui n'existe pas.
0
Utilisateur anonyme
 
ah merci oui cela ne risque pas de marcher !! XD
0