0% ont trouvé ce document utile (0 vote)
180 vues2 pages

Utilisation de Numpy pour le Traçage

Le document présente 8 exercices sur l'utilisation de Python, Numpy et Matplotlib pour l'analyse numérique. Les exercices portent sur le traçage de courbes, l'approximation de fonctions et le travail avec des vecteurs et matrices.

Transféré par

Albin Puel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
180 vues2 pages

Utilisation de Numpy pour le Traçage

Le document présente 8 exercices sur l'utilisation de Python, Numpy et Matplotlib pour l'analyse numérique. Les exercices portent sur le traçage de courbes, l'approximation de fonctions et le travail avec des vecteurs et matrices.

Transféré par

Albin Puel
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Analyse Numérique 2IC

TP1 - Python, Numpy et Matplotlib

1 Objectifs de la séance
1. Utiliser les librairies Numpy et Matplotlib de Python.
2. S’initier à la programmation notamment vectorielle
3. Tracer des courbes

2 Travail demandé
Exercice 1
Soit la fonction h(x) suivante :
1 1 2
h(x) = √ exp− 2 x

Créer les tableaux xt et ht qui contiennent respectivement 41 valeurs réparties uniformément pour
x ∈ [−4, 4] et l’évaluation de la fonction h sur ces valeurs.

Exercice 2
Réaliser le graphe de la fonction y(t) = v0 t − 12 gt2 pour v0 = 10 m.s−1 , g = 9.81 m.s−2 , et
t ∈ [0, 2v0 /g]. Le label sur l’axe des abscisses devra être ”temps (s)” et le label sur l’axe des ordonnées
”hauteur (m)”.

Exercice 3
On souhaite tracer cette trajectoire pour différentes valeurs de la vitesse initiale v0

v0 (m.s−1 ) 8.7 9.2 10.3 11.5 12.6

Créer un vecteur all_vo contenant les 5 valeurs de vitesse initiale qui nous intéressent.
Faire un programme qui, pour chaque valeur de v0 , trace les courbes correspondantes à l’aide d’une
boucle for, dans la même fenêtre graphique. On prendra t ∈ [0, 2v0 /g] pour chaque courbe, de telle
sorte que on devra fabriquer un vecteur t différent pour chaque courbe.

Exercice 4
La fonction sinus peut être approchée par un polynôme grâce à la formule
n
X x2j+1
sin x ≈ S(x; n) = (−1)j
(2j + 1)!
j=0

L’erreur dans l’approximation S(x; n) décroit quand n augmente et à la limite on a limn→∞ S(x; n) =
sin x. Le but de cette exercice est de visualiser la qualité de diverses approximations S(x; n) quand
n croit. La première partie de l’exercice est d’écrire une fonction Python S(x,n) qui calcule S(x; n).
La partie suivante est de tracer simultanément la fonction sin x sur [0, 4π] avec ses approximations
S(x; 1), S(x; 2), S(x; 3), S(x; 6) et S(x; 12) avec la légende.

1
Exercice 5
Vectoriser le code suivant :vectoriser = eviter les boucles for et if

import numpy as np
N = 10
x = np.zeros(N)
y = x.copy()
dx = 2.0/(N-1) # spacing of x coordinates
for i in range(N):
x[i] = -1 + dx*i
y[i] = np.exp(-x[i])*x[i]

Exercice 6
a) Construire le vecteur t collectant 50 valeurs dans l’intervalle [0, π].
b) Construire un vecteur h contenant les images des valeurs contenues dans le vecteur t par la fonction
h(t) = cos(t).
c) Construire un vecteur p contenant les indices correspondants aux valeurs positives de h à l’aide
d’une boucle for, puis à l’aide de la fonction np.where.
d) se servir de p pour doubler les valeurs positives de h.

Exercice 7
Soit A une matrice aléatoire de taille (8×6) :
>>> A = np.random.rand(8,6)
Remplir les deux dernières colonnes de zéros.

Exercice 8
La fonction f (x) décrit pour une valeur fixe de t une onde localisée en espace :
2
f (x, t) = exp−(x−3t) sin(3π(x − t))

Faire un programme qui visualise cette fonction comme une fonction de x dans l’intervalle x ∈ [−4, 4]
pour t = 0.

Vous aimerez peut-être aussi