Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| teaching:progappchim:numpy_simple [2017/10/01 05:02] – [Références] villersd | teaching:progappchim:numpy_simple [2023/03/07 13:05] (Version actuelle) – villersd | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| NumPy est une extension du langage de programmation Python, destinée à manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant sur ces tableaux. | NumPy est une extension du langage de programmation Python, destinée à manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant sur ces tableaux. | ||
| - | Numpy permet la manipulations des vecteurs, matrices et polynômes. | + | Chaque élément d'un tableau numpy occupe un nombre fixe d' |
| + | |||
| + | Numpy permet la manipulations des vecteurs, matrices et polynômes. | ||
| ===== Directive d' | ===== Directive d' | ||
| Ligne 25: | Ligne 28: | ||
| Les fonctions arange et shape sont bien pratiques pour générer des nombres en séquences et réarranger des listes de nombres. La fonction linspace est utile parce qu' | Les fonctions arange et shape sont bien pratiques pour générer des nombres en séquences et réarranger des listes de nombres. La fonction linspace est utile parce qu' | ||
| - | Vous pouvez consulter [[http://wiki.scipy.org/Numpy_Example_List|cette page]] pour consulter d' | + | Vous pouvez consulter [[https://docs.scipy.org/doc/numpy/|cette page]] pour consulter d' |
| </ | </ | ||
| <code python arrays_01.py> | <code python arrays_01.py> | ||
| Ligne 203: | Ligne 206: | ||
| **poly1d & polynomial ordonnent les coefficients en sens inverses !!!**</ | **poly1d & polynomial ordonnent les coefficients en sens inverses !!!**</ | ||
| - | <sxh python; title : arrays_polynomes_06.py> | + | <code python arrays_polynomes_06.py> |
| #! / | #! / | ||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
| Ligne 210: | Ligne 213: | ||
| """ | """ | ||
| 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 " | + | print(" |
| # les coefficients de a : | # les coefficients de a : | ||
| - | print " | + | print(" |
| # les racines de a : | # les racines de a : | ||
| - | print " | + | print(" |
| # l' | # l' | ||
| - | print "ordre : ",a.order | + | print("ordre : ", a.degree()) |
| # évaluations sur un vecteur | # évaluations sur un vecteur | ||
| - | x=np.linspace(0, | + | x = np.linspace(0, |
| - | print "x = ",x | + | print("x = ", x) |
| - | print " | + | print(" |
| # dérivation | # dérivation | ||
| - | print " | + | print(" |
| + | print(" | ||
| + | print(" | ||
| + | print(" | ||
| # intégration | # intégration | ||
| - | print " | + | print(" |
| # 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 " | + | print(" |
| + | # | ||
| # fitting polynomial | # fitting polynomial | ||
| - | xd=np.array([0., | + | # |
| - | yd1=np.array([0.05, | + | # utilisation de poly1d (ancienne librairie) |
| - | pfit=np.poly1d(np.polyfit(xd, | + | # |
| - | print "fit d'une parabole (polynôme d' | + | # numpy.polyfit (poly1d) : |
| - | print xd | + | # https:// |
| - | print yd1 | + | # https:// |
| - | print " | + | # |
| - | </sxh> | + | xd = np.array([0., |
| + | yd = np.array([0.05, | ||
| + | pfit = np.poly1d(np.polyfit(xd, | ||
| + | print("fit d'une parabole (polynôme d' | ||
| + | print(xd) | ||
| + | print(yd) | ||
| + | print(" | ||
| + | # | ||
| + | # " | ||
| + | # in the opposite order of that for np.polyfit and np.polyval" | ||
| + | # → https:// | ||
| + | # | ||
| + | ################################################## | ||
| + | # Ajouter les fits utilisant numpy.polynomial... # | ||
| + | ################################################## | ||
| + | # | ||
| + | # numpy.polynomial.polynomial.Polynomial.fit : | ||
| + | # https:// | ||
| + | # https:// | ||
| + | # https:// | ||
| + | # https:// | ||
| + | # | ||
| + | # numpy.polynomial.polynomial.polyfit : | ||
| + | # https:// | ||
| + | # | ||
| + | </code> | ||
| Autres fonctions : voir [[http:// | Autres fonctions : voir [[http:// | ||
| Ligne 331: | Ligne 364: | ||
| {{ : | {{ : | ||
| + | ===== Avantages de numpy ===== | ||
| + | L' | ||
| + | |||
| + | {{gh> | ||
| ===== Références ===== | ===== Références ===== | ||
| Ligne 344: | Ligne 381: | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Références avancées ==== | ||
| + | * [[https:// | ||
| + | |||