Outils pour utilisateurs

Outils du site


teaching:progappchim:numpy_simple

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
teaching:progappchim:numpy_simple [2019/03/04 15:08]
villersd
teaching:progappchim:numpy_simple [2019/03/05 02:11] (Version actuelle)
villersd
Ligne 203: Ligne 203:
  
 **poly1d & polynomial ordonnent les coefficients en sens inverses !!!**</​note>​ **poly1d & polynomial ordonnent les coefficients en sens inverses !!!**</​note>​
-<sxh python; title : arrays_polynomes_06.py>​+<code python arrays_polynomes_06.py>​
 #! /​usr/​bin/​env python #! /​usr/​bin/​env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
Ligne 210: Ligne 210:
 """​ """​
 import numpy as np import numpy as np
 +from numpy.polynomial import Polynomial as P
  
-# les coefficients du polynômes sont donnés par ordre décroissance des degrés dans poly1d +# les coefficients du polynômes sont donnés par ordre décroissance des dégrés 
-a=np.poly1d([1.,2.,3.,4.]) # = x³ + 2x² + 3x +4+a = P([4., 3., 2., 1.]) # = x³ + 2x² + 3x + 4
  
-print "​polynôme : \n",a, type(a)+print("​polynôme : \n", a, type(a))
 # les coefficients de a : # les coefficients de a :
-print "​coefficients : ",a.coeffs+print("​coefficients : ", a.coef)
 # les racines de a : # les racines de a :
-print "​racines : ",​a.roots+print("​racines : ", a.roots())
 # l'​ordre du polynôme : # l'​ordre du polynôme :
-print "ordre : ",a.order+print("ordre : ", a.degree())
 # évaluations sur un vecteur # évaluations sur un vecteur
-x=np.linspace(0,​2.,​21) +x = np.linspace(0,​ 2., 21) 
-print "x = ",x +print("x = ", x) 
-print "​évaluation en x : ",np.polyval(a,x)+print("​évaluation en x : ", a(x))
 # dérivation # dérivation
-print "​dérivée : \n",np.polyder(a)+print("​dérivée : \n", ​a.deriv(1)) 
 +print("​dérivée seconde : \n", ​a.deriv(2)) 
 +print("​dérivée troisième : \n", a.deriv(3)) 
 +print("​dérivée quatrième : \n", a.deriv(4))
 # intégration # intégration
-print "​intégrale : \n",np.polyint(a)+print("​intégrale : \n", ​a.integ(1))
 # création d'un polynôme par ses racines # création d'un polynôme par ses racines
-b=a.roots +b = a.roots() 
-c=np.poly1d(b,True+c = P.fromroots(b) 
-print "​Polynômes recrées par les racines :\n", c+print("​Polynômes recrées par les racines :\n", c
 +#
 # fitting polynomial # fitting polynomial
-xd=np.array([0.,​1.,​2.,​3.,​4.,​5.]) +
-yd1=np.array([0.05,​0.99,​3.95,​ 9.17,​15.86,​24.93]) +# utilisation de poly1d (ancienne librairie) 
-pfit=np.poly1d(np.polyfit(xd,​yd1,2)) +#  
-print "fit d'une parabole (polynôme d'​ordre 2) sur ces x et y :" +# numpy.polyfit (poly1d) : 
-print xd +# https://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.poly1d.html 
-print yd1 +# https://​docs.scipy.org/​doc/​numpy/​reference/​generated/​numpy.polyfit.html 
-print "​polynôme de fit : \n",​pfit +
-</sxh>+xd = np.array([0.,​ 1., 2., 3., 4., 5.]) 
 +yd = np.array([0.05,​ 0.99, 3.95, 9.17, 15.86, 24.93]) 
 +pfit = np.poly1d(np.polyfit(xd, ​yd, 2)) 
 +print("fit d'une parabole (polynôme d'​ordre 2) sur ces x et y :") 
 +print(xd) 
 +print(yd) 
 +print("​polynôme de fit : \n", pfit
 +
 +# "​Unfortunately,​ np.polynomial.polynomial.polyfit returns the coefficients 
 +# in the opposite order of that for np.polyfit and np.polyval"​ 
 +# → https://​stackoverflow.com/​questions/​18767523/​fitting-data-with-numpy 
 +
 +##################################################​ 
 +# Ajouter les fits utilisant numpy.polynomial... # 
 +##################################################​ 
 +
 +# numpy.polynomial.polynomial.Polynomial.fit : 
 +# https://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.html 
 +# https://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.package.html 
 +# https://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.classes.html 
 +# https://​docs.scipy.org/​doc/​numpy/​reference/​generated/​numpy.polynomial.polynomial.Polynomial.fit.html 
 +
 +# numpy.polynomial.polynomial.polyfit : 
 +# https://​docs.scipy.org/​doc/​numpy/​reference/​generated/​numpy.polynomial.polynomial.polyfit.html 
 +# 
 +</code>
  
 Autres fonctions : voir [[http://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.html|ici]] Autres fonctions : voir [[http://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.html|ici]]
teaching/progappchim/numpy_simple.txt · Dernière modification: 2019/03/05 02:11 par villersd