Bien le bonjour,
Je tente d'apprendre la programmation avec le langage python. Dans ce cadre je cherche à utiliser la fonction polyfit du module numpy.
Voici donc le bout de programme que je rédige, le fichier importer contient 2 colonne, une première avec des positions et une autres avec des temps correspondant. Vitesse constante donc polynôme d'ordre 1.
Le problème est le suivant, lors de l'exécution du programme :
1 2 3 4 5 6 7 8 9 10 11 12
| import matplotlib.pyplot as plt
import numpy as np
lst = np.load('./s5/S05E02_lin.npy')
print(lst)
d = lst[:,:1]
t = lst[:,1:2]
p = np.polyfit(d, t, 1)
print(d) |
je reçoit une erreur :
TypeError Traceback (most recent call last)
<ipython-input-45-8808556a59bc> in <module>()
10 print(d)
11
---> 12 p = np.polyfit(d, t, 1)
13
14 fp = np.poly1d(p)
~/anaconda3/lib/python3.7/site-packages/numpy/lib/polynomial.py in polyfit(x, y, deg, rcond, full, w, cov)
546 raise ValueError("expected deg >= 0")
547 if x.ndim != 1:
--> 548 raise TypeError("expected 1D vector for x")
549 if x.size == 0:
550 raise TypeError("expected non-empty vector for x")
TypeError: expected 1D vector for x
Le problème semble venir du slicing ou du loading, mais je ne comprend pas comment faire pour le résoudre,
Merci d'avance pour votre aide, bien cordialement.
Hell-bananaz
Partager