Bonsoir
J'ai un souci pour tracer la courbe d'un polynôme.
Voici un tableau de données.
Il y a près de soixante-dix-neuf lignes de codes, je mets l'essentiel.
Avec scipy.interpolate, j'ai trouvé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def l(): g = lagrange([5929741, 10793861, 74618461, 302111711, 1225043000, 6644672000], [0.248004, 0.454276, 3.129361, 12.609601, 51.194025, 278.522721]) print('iterpolation',g)
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 def graph(): x =[5929741, 10793861, 74618461, 302111711, 1225043000, 6644672000] f =x*2.541*(x*4.256*(x*- 9.733*(x*2.947*( x*(-2.11)))))-0.004049 plt.figure(figsize=(9, 5)) plt.grid() plt.scatter(a, t, label="Nuage de points") plt.plot(a, f) plt.legend() plt.title('Loi de Kepler') plt.show()
Je n'arrive pas à tracer le polynôme, si h'ai bien compris l'erreur ci-dessous.
L'erreur vient du faite que j'essaie de multiplier un non entier de type flaot.ypeError: can't multiply sequence by non-int of type 'float'
J'ai essayé de modifier comme ci-dessous.
f =float(x) *2.541*(float(x)*4.256*(float(x)*- 9.733*(float(x)*2.947*( float(x)*(-2.11)))))-0.004049
Il me sort l'erreur:
Là, je ne vois comment résoudre ce problème.TypeError: float() argument must be a string or a number, not 'list'
A bientôt
Partager