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 Prochaine révisionLes deux révisions suivantes | ||
teaching:progappchim:numpy_simple [2017/03/07 10:08] – villersd | teaching:progappchim:numpy_simple [2020/09/16 22:18] – [Références] villersd | ||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
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 172: | Ligne 172: | ||
</ | </ | ||
+ | ==== Références complémentaires ==== | ||
+ | * [[http:// | ||
===== Itérations sur les tableaux ===== | ===== Itérations sur les tableaux ===== | ||
<code python arrays_iteration_05.py> | <code python arrays_iteration_05.py> | ||
Ligne 201: | Ligne 203: | ||
**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 208: | 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 " | + | 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 248: | Ligne 280: | ||
Le module de [[http:// | Le module de [[http:// | ||
- | <sxh python; title : fonctions-FT-04.py> | + | <code python fonctions-FT-04.py> |
# | # | ||
#-*- coding: utf-8 -*- | #-*- coding: utf-8 -*- | ||
Ligne 279: | Ligne 311: | ||
x = np.arange(0.0, | x = np.arange(0.0, | ||
y1 = f1(x) | y1 = f1(x) | ||
- | z1=fft.fft(y1) | + | z1 = fft.fft(y1) |
- | w1 = np.abs(z1[: | + | w1 = np.abs(z1[: |
y2 = f2(x) | y2 = f2(x) | ||
- | z2=fft.fft(y2) | + | z2 = fft.fft(y2) |
- | w2 = np.abs(z2[: | + | w2 = np.abs(z2[: |
y3 = f3(x) | y3 = f3(x) | ||
- | z3=fft.fft(y3) | + | z3 = fft.fft(y3) |
- | w3 = np.abs(z3[: | + | w3 = np.abs(z3[: |
# doc subplot : http:// | # doc subplot : http:// | ||
Ligne 323: | Ligne 355: | ||
plt.savefig(' | plt.savefig(' | ||
plt.show() | plt.show() | ||
- | </sxh> | + | </code> |
Figure obtenue : | Figure obtenue : | ||
Ligne 329: | Ligne 361: | ||
{{ : | {{ : | ||
+ | ===== Avantages de numpy ===== | ||
+ | L' | ||
+ | |||
+ | {{gh> | ||
===== Références ===== | ===== Références ===== | ||
Ligne 341: | Ligne 377: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||