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

Fermé
Utilisateur anonyme - Modifié le 12 nov. 2019 à 16:06
 Utilisateur anonyme - 12 nov. 2019 à 17:14
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
A voir également:

1 réponse

quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 344
12 nov. 2019 à 16:35
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
12 nov. 2019 à 17:14
ah merci oui cela ne risque pas de marcher !! XD
0