SESSION 2021 (@+ PCSMO
CONCOURS
COMMUN
INP
ÉPREUVE MUTUALISÉE AVEC E3A-POLYTECH
ÉPREUVE SPÉCIFIQUE - FILIÈRE PC
MODÉLISATION DE SYSTÈMES PHYSIQUES OU CHIMIQUES
Durée : 4 heures
N.B. : le candidat attachera la plus grande importance à la clarté, à la
précision et à la concision de la rédaction.
Si un candidat est amené à repérer ce qui peut lui sembler être une erreur
d'énoncé, il le signalera sur sa copie
et devra poursuivre sa composition en expliquant les raisons des initiatives
qu'il a été amené à prendre.
RAPPEL DES CONSIGNES
«_ Utiliser uniquement un stylo noir ou bleu foncé non efjaçable pour la
rédaction de votre composition ; d'autres
couleurs, excepté le vert, peuvent être utilisées, mais exclusivement pour les
schémas et la mise en évidence
des résultats.
° Ne pas utiliser de correcteur.
«_ Écrire le mot FIN à la fin de votre composition.
Les calculatrices sont autorisées.
Le sujet est composé de trois parties indépendantes.
Sujet : page | à page 12.
Annexe : page 13 à page 16.
1/16
Modélisation de la fuite de matière d'un réservoir rempli de
dioxyde de carbone gazeux
Présentation générale
Ce sujet repose sur l'étude théorique et numérique d'une fuite de matière au
sein d'une cuve contenant
du dioxyde de carbone (CO;) gazeux. Il est constitué de trois parties
indépendantes.
- La première partie est dédiée à l'établissement du modèle thermodynamique du
phénomène de
fuite de matière contenue dans une cuve à travers un orifice.
- La seconde partie est consacrée à l'étude numérique du problème; la relation
entre la capacité
thermique molaire CP, du CO, gaz parfait et la température T est admise.
- La troisième partie est consacrée à l'étude de deux modèles pour décrire la
relation entre CP,, et
T dont les coefficients sont déduits de mesures expérimentales.
Traitement numérique et calcul scientifique réalisés à partir d'un programme
écrit en langage
Python
Les programmes demandés au candidat seront réalisés dans le langage Python.
On veillera à apporter les commentaires facilitant la compréhension du
programme et à utiliser
des noms de variables explicites.
Il est demandé de répondre précisément aux questions posées (par exemple, on
écrira une
fonction uniquement lorsque cela est explicitement demandé).
Une annexe décrivant quelques éléments de langage Python utiles pour ce sujet
est fournie en
page 15.
Précisions concernant les notations utilisées
Symbole Nom Unité
Cm Capacité thermique molaire à pression constante J-K-!-mol !
Cp Capacité thermique massique à pression constante J-K"!'-kg"!
D Débit massique kg-s"!
h Enthalpie massique Ike"!
M Masse molaire kg-mol"!
m Masse kg
P Pression Pa
O = 60/dt Puissance thermique W
R Constante des gaz parfaits J-K"!-mol !
T Température K
T' Température critique K
U Énergie interne J
u Énergie interne massique Ike"!
V Volume m°
W = 6W/dt Puissance utile W
& Vitesse des courants de matière ms"!
O Section de fuite m°
2/16
Partie I - Modélisation de la fuite d'un réservoir : mise en équation
Généralités sur les bilans de matière et d'énergie en système ouvert
On s'intéresse au système ouvert décrit par la figure 1. Ce système possède une
entrée de matière
(notée A), une sortie (notée B). Il reçoit du milieu extérieur une puissance
thermique Q, et une puissance
de force W,. Il fournit au milieu extérieur une puissance thermique ©, et une
puissance de force W..
Les grandeurs Q,, Q,, W.,, W., sont définies comme des quantités algébriques.
En revanche, les débits
massiques D,, A et D,,8 Sont définis comme des quantités positives.
ON
PO N / D
Système d'étude à la
Entrée de matière (A) =} date f > Sortie de matière (B)
Température TA Énergie interne : U(P) Température 7,
Pression PA Masse : m(f) Pression P,
Débit massique Dy.A KL A \ J Débit massique D, B
Vitesse w / \ Vitesse Op
Enthalpie massique AA û Tr Enthalpie massique Ag
Figure 1 - Représentation schématique d'un système ouvert
Q1. Donner l'unité des grandeurs W, Q et D, mentionnées sur la figure 1.
Q2. Le système considéré est supposé évoluer en régime stationnaire. Quelle est
la relation entre les
débits des courants de matière entrant D,, A et sortant D,,8 ? Justifer.
Q3. Appliquer le premier principe de la thermodynamique au système ouvert
stationnaire de la fi-
sure 1. Montrer qu'il peut se mettre sous la forme :
(D)
Débit d'énergie | { Débit d'énergie
entrant h sortant |
On explicitera les termes débits d'énergie (homogènes à une puissance) en
fonction des gran-
deurs introduites par la figure 1.
Q4. Le système étudié de la figure 1 est supposé évoluer en régime transitoire.
On note m(f), la
fonction représentant l'évolution de sa masse m en fonction du temps f. À
partir d'un bilan
: 1 dm(f) Le
de matière, déduire la relation existant entre PE Da et D, 8. Proposer une
interprétation
qualitative du bilan.
On admet dans la suite l'écriture du premier principe en système ouvert,
étendue aux systèmes immo-
biles en régime transitoire :
dau Débit d'énergie | _ Débit d'énergie | O)
df entrant sortant
où dU'/df désigne la dérivée de l'énergie interne du système étudié par rapport
au temps f.
Q5. Proposer une interprétation qualitative du bilan d'énergie traduit par
l'équation (2).
3/16
Écriture d'un modèle décrivant la fuite d'un réservoir adiabatique contenant du
CO;
On s'intéresse à présent à un réservoir contenant un gaz supposé parfait. Ce
réservoir indéformable (donc
de volume V fixe) est le siège d'une fuite vers le milieu environnant à la
température TT, = 293 K et à la
pression Px = 1,01 bar supposées fixes dans tout le sujet. Il n'est pas agité
mécaniquement. Toutefois,
les propriétés du gaz dans le réservoir sont supposées uniformes à chaque
instant. Ce réservoir est décrit
par la figure 2.
Réservoir adiabatique
1 Gazdansie ||
; Fuite de gaz (sortie de matière)
réservoir >
Débit massique : D,,8
e masse M(f)
e température 7(f)
e pression P(f) : |
| e volume / fixe Milieu environnant
| + énergie interne U(f)
Température 7.
\ « enthalpie massique A(f) Pression P .
Ex
Figure 2 - Réservoir adiabatique renfermant du gaz et soumis à une fuite de gaz
vers le milieu environ-
nant
Q6.
Q7.
Le modèle gaz parfait
a) Dans quelle situation limite un gaz réel s'identifie-t-1l exactement à un
gaz parfait ?
b) Donner la valeur du rapport CP,/R pour un gaz parfait monoatomique. Faire de
même pour
un gaz parfait diatomique.
c) Pour le CO; gaz parfait, le rapport C?,/R dépend de la température selon une
loi notée par la
suite f(T). L'étude de la loi f(T') sera l'objet de la partie suivante.
Donner un argument physique expliquant pourquoi, pour le CO;, CPn/R est une
fonction de la
température contrairement au cas des gaz parfaits mono- et di-atomiques.
d) Donner la relation unissant les variations d'énergie interne molaire dU,, et
de température dT
à la fonction f(T). En déduire l'expression de du/dT où u désigne l'énergie
interne massique
d'un gaz parfait pur.
On suppose que les propriétés intensives du gaz dans le réservoir (entre
autres, sa température
T, Sa pression P et son enthalpie massique h) sont uniformes. On considèrera
que les propriétés
intensives du gaz sortant sont les mêmes que celles du gaz dans le réservoir.
On s'intéresse au
système {volume contenant le gaz à T et P dans le réservoir, paroi non
comprise} représenté
par des pointillés sur la figure 2. Montrer que l'application du bilan de
matière et du premier
principe au système en pointillés décrit par la figure 2 amène :
dm(t) = _D,,
ik, s
dd --Dy,8 * NE)
On supposera négligeable l'énergie cinétique massique de la matière quittant le
système.
4/16
Q8. En introduisant la relation entre l'énergie interne massique w (en J-kg"')
et l'énergie interne U
(en J) du système étudié, montrer que l'équation (3) amène :
du R:T dm
-- -- 4
d M:m di o
où À et M désignent respectivement la constante des gaz parfaits et la masse
molaire du gaz.
En déduire que :
dT OT dm
T)-1]-- =-.-- 5
JO) ITS (S)
On cherche à présent à estimer le débit D,,8 de gaz quittant le réservoir. Pour
ce faire, on s'intéresse à
la zone de l'espace dans laquelle se produit la fuite.
Réservoir adiabatique
Agrandissement au
voisinage de l'orifice à
travers lequel le CO:
s'échappe du réservoir
Gaz dans le
réservoir
Figure 3 - Fuite de CO; gazeux à travers l'orifice dans la paroi du réservoir
On considère le système {orifice dans la paroi du réservoir} ; on supposera que
:
- l'écoulement de gaz à travers l'orifice est adiabatique et stationnaire ;
- Ja vitesse du gaz en entrée du système est nulle ; elle est notée w en sortie
;
- la température et la pression du gaz en entrée sont notées T' et P (ce sont
celles du gaz à l'intérieur
du réservoir); en sortie, elles sont notées 73 et Pp = Paxt = 1,01 bar.
Q9. Montrer que le débit massique D,,8 de fluide à travers la section de
l'orifice est donné par :
_Q-og-M:Pex
_ R Th
DB (6)
où la surface Q désigne la section de passage du fluide à travers l'orifice.
Q10. Expression de wg en fonction de T;z
En appliquant l'expression du premier principe en système ouvert stationnaire,
donnée par
l'équation (1), au système {orifice dans la paroi du réservoir} délimité par
des pointillés sur
la figure 3, montrer que la vitesse de sortie du CO, a pour expression :
R fr
OB = \ ui J. J(T)AT. (7)
5/16
Q11. Méthode de calcul de T}
a) En négligeant les frottements au sein du système considéré, on peut supposer
l'écoulement
réversible. Montrer, par application du second principe, que cette hypothèse
amène à suppo-
ser l'écoulement isentropique massique (ou molaire) (1.e., à entropie massique
- ou molaire -
constante).
b) Montrer que la variation d'entropie massique d'un gaz parfait pur s'écrit :
R |CpmdT dP
ds = | - -- (8)
M|IRT P
En déduire que T} est solution de l'équation :
"8 f(T P R-T
[ JO 7 + In = 0 avec P -- 77 (9)
T T Poxt M ° V
Finalement, en réunissant les équations (3), (5), (6), (7) et (9), le modèle
ainsi constitué est représenté
par le système suivant :
[dr T dm
dt m[f(T)-1] dr
4 T 10
am Peu Y2 f,, SCDAT do)
dt
avec 72 solution de :
18 f(T -RT
[ Ja) ar en |- O. (11)
T T M ° V ° Poxt
Partie II - Modélisation de la fuite d'un réservoir : traitement numérique
Dans cette partie, on fera référence au modèle défini par les équations (10) et
(11).
Données numériques utiles pour cette partie :
R = 8,3144 J : mol ! -K'!
M = 44: 107 kg/mol
Tax = 293 K
Pexi = 1,01 bar
V=lm
Q = 1 cm"
T en K
Modèle pour CpmlR : f(T) = À; + r avec A _ 810
A3 -- 485,6
T(0) = 473,15 K
m(0) = 11,0 kg
Conditions initiales :
6/16
Q12.
Q13.
Intégration numérique
a) Donner le code de la fonction integ1(T1,T2) réalisant le calcul analytique
de l'intégrale
D
f(T)dT (T1 et T2 sont des arguments d'entrée de la fonction integl1 qui
désignent les
T
bornes de l'intégrale).
b) Donner le code de la fonction integ2(T1,T2) réalisant le calcul numérique de
l'intégrale
T> T
[ eo ar (T1 et T2 sont des arguments d'entrée de la fonction integ2 qui
désignent les
T
bornes de l'intégrale).
La méthode des rectangles sera adoptée pour estimer l'intégrale ; l'intervalle
des températures
sera divisé en 100 sous-intervalles).
Ces deux fonctions pourront être appelées autant de fois que nécessaire par la
suite.
La fonction chercheTB(T,m) fournie ci-dessous renvoie, pour des valeurs connues
des variables
T et m, la valeur correspondante de T} obtenue par résolution de l'équation
(11) selon la méthode
de Newton :
import numpy as np
A1 = 8.303; A2 = -2810.; A3 = 485.6
TO = 473.15; m0 = 11.0
Pext = 1.01e5; Mw = 44e-3; Volume = 1.0; Text = 293.
R = 8.3144
def chercheTB(T,m):
TB = 300.
[instruction!1]
while residu > 1e-10:
eq = [instruction2]
deq = [instruction3]
TBold = TB
TB = TB - eq/deq
residu = [instruction4]
return TB
Pour compléter la portion de code ci-dessus, indiquer par quelles instructions
1l convient de
remplacer les séquences [instruction1] à [instruction4]. Justifier.
La fonction chercheTB(T,m) pourra être appelée autant de fois que nécessaire
par la
suite.
Pour résoudre une équation différentielle mise sous la forme y'(f) = f(f,y(t)),
on peut utiliser le schéma
d'Euler dont on rappelle l'expression :
VC + At) = y(r) + f(£,y()) x At. (12)
Dans le cas d'un système d'équations différentielles d'ordre 1, de la forme
y'(f) = f(r,y(r)), on peut
généraliser le schéma d'Euler de la manière suivante :
VE + At) = y(t) + É(L,y(E)) x At (13)
où y(f) désigne le vecteur des fonctions inconnues évaluées à la date courante
f.
7/16
Q14. Donner l'algorithme général du calcul numérique des fonctions temporelles
T', m et P entre f = 0
et f = 105, par résolution du système difrérentiel (10) reposant sur
l'utilisation du schéma d'Eu-
ler généralisé (on choisira comme pas de temps : Af = 0,105).
Cet algorithme sera fourni sous la forme d'un logigramme. On veillera à
mentionner les pro-
cédures d'initialisation des processus itératifs ainsi que leurs critères
d'arrêt. Quand cela sera
nécessaire, on fera appel à la fonction chercheTB(T ,m) sans détailler sa
structure.
Q15. Écrire le code mettant en oeuvre l'algorithme proposé à la question
précédente. On pourra faire
appel à toutes les fonctions programmées précédemment.
Q16. Intuitivement, quand la fuite s'arrêtera-t-elle en pratique ?
Partie III - Développement de corrélations pour la capacité thermique à
pression constante molaire du dioxyde de carbone
On dispose d'un faible nombre de mesures expérimentales du rapport CP»/R du CO;
gazeux sur un
large domaine de températures T sous pression atmosphérique (où CP, désigne la
capacité thermique
molaire à pression constante et RÀ, la constante des gaz parfaits).
Ces mesures (au nombre de 6) sont consignées dans un fichier cP.txt (voir
tableau 1). La première
colonne donne la température en K, la seconde fournit les mesures
expérimentales de la quantité Cp,,/R.
100.0 3.513
506.0 5.367
1000.00 6.532
2006.06 7.257
3000.00 7.475
4000.00 7.586
Tableau 1 - Contenu du fichier cP.txt
Dans cette partie, on cherche à développer une corrélation de la propriété
CP,/R en fonction de la
température. Le modèle est noté f(T) par la suite :
(Cpm/R)modèle -- JT). (14)
Les coefficients intervenant dans la corrélation seront déterminés de manière à
reproduire efficacement
les données expérimentales (T°, (C»/R)...) dont on dispose. Pour y parvenir,
deux stratégies sont envi-
sagées et testées :
- un premier modèle de la forme :
Exp
A
modèle 1(1) = À; + 15
fmodèle 1(7) = Ai TA, (15)
où À, À) et À; sont des constantes ;
- un Second modèle de forme polynomiale :
fmoæie2(T) = D Bi: T} avecT, = T/T, (16)
i=0
Où 1} = 304,21 K désigne la température critique du CO;, n, le degré du
polynôme. Les B; sont
les coefficients réels du polynôme.
8/16
Q17. Les valeurs des capacités thermiques reportées dans le tableau 1 ont été
mesurées par calori-
métrie. Il existe de nombreuses techniques de mesures calorimétriques. Décrire
succinctement
le principe d'une technique expérimentale de mesure de la capacité thermique
d'un liquide ou
d'un gaz par calorimétrie que vous connaissez; en particulier, fournir un
schéma pour illustrer
le principe de la mesure et préciser comment la valeur de la capacité thermique
est déduite de la
mesure.
Q18. Montrer par une analyse dimensionnelle que le rapport C?,/R est sans
dimension.
Q19. Programme de lecture des données
Indiquer la syntaxe à utiliser pour charger le fichier cP. txt qui contient les
données expérimen-
tales et stocker celles-ci dans deux tableaux de réels temp (pour les
températures) et CpR_exp
(pour les valeurs expérimentales du rapport CP/R).
De plus, déterminer automatiquement le nombre de points expérimentaux N.,,
présents dans le
fichier chargé.
IIL.1 - Développement du premier modèle
On cherche à déterminer les coefficients À;, À; et À; du modèle n°1 donné par
l'équation (15).
Ces coefficients sont inconnus dans cette partie. Pour ce faire, on va utiliser
une technique de minimisa-
ton. L'idée générale est la suivante :
- on forme une fonction dite objectif, notée jf; rendant compte des écarts
entre les prédictions du
modèle et les valeurs expérimentales ;
- on va chercher à minimiser cette fonction en jouant sur les valeurs des
coefficients À;, A; et 43.
La fonction objectif choisie a pour expression :
N exp
Job; (A1,42,43) -- > 65 avec . 0; -- modèle 1(T point exp. n°i) HE (Cpm/R) oint
exp. ni * (17)
i=]
Q20. Dans l'expression de la fonction objectif, pour quelle raison les écarts
ont-ils été élevés au carré ?
On range les coefficients recherchés dans le vecteur a = (4;,4;,43).
Q21. Écrire la syntaxe de la fonction delta(vecA,temp,CpR_exp) qui prend comme
argument d'en-
trée un jeu quelconque de coefficients a (vecA désigne le tableau contenant les
éléments du vec-
teur a), les tableaux temp et CpR_exp et renvoie en sortie le vecteur Ô
contenant les éléments 6;
définis par l'équation (17).
Q22. Écrire la syntaxe de la fonction fobj(vecA,temp,CpR_exp) permettant
l'estimation de la
fonction-objectif pour un jeu quelconque de coefhicients a (vecA désigne le
tableau contenant
les éléments du vecteur a). On pourra utiliser la fonction delta définie à la
question précédente.
Un extremum local de la fonction objectif vérifie :
Of. Ob}
ôA;
= 0 pour 1 < j < 3. (18) C'est donc, en particulier, le cas d'un minimum. À présent, on a besoin d'exprimer et d'estimer les Of Ob] j dérivées (pour | < 7j < 3). J 9/16 Ô fmodèle 1 Ô fmodèle 1 et Ô fmodèle 1 OA, OA 043 Q23. Donner les expressions analytiques des dérivées Of. Ob} Q24. Montrer que les expressions analytiques des dérivées peuvent se mettre sous la forme : J Of Ob] Of modèle 1 1-9 6, X --=------ I<7<3. 19 A, > A, pour 1 < (19) et fournir explicitement leurs expressions. Of. Ob} On note f", le gradient de fi, 1.e., le vecteur des 3 dérivées partielles (pour 1 < 7 < 3). j Q25. Écrire la syntaxe d'une fonction deriv_fobj(vecA,temp,CpR_exp) permettant l'estimation de f". Cette fonction pourra faire appel aux fonctions programmées précédemment. Pour résoudre l'équation (18), une méthode de type Newton est envisagée. Les valeurs de a minimisant la fonction-objectif sont obtenues à partir du schéma itératif suivant : aération (k+1) _ aération (k) H ! f' (20) où H et f" sont respectivement la matrice hessienne et le gradient de fr; estimés à l'itération (k). La ma- trice hessienne H de la fonction ji; désigne la matrice (symétrique) de ses dérivées partielles secondes dont l'expression est définie ci-après : for D foi doi Y f 0 ff Of} Ôf; OA 0A10A2 ÔA:04; OA, OA, dAÀ: H -- ® fobi 9 foti 9" fob Of, 0f, jf; Q1) 0A:0A1 GA? 0404; A; 0A 0A © fobi © fobi 9" Job; Of, Ôf, Ôf; | 043041 04304 842 }) (V4: 043 64: On choisit d'estimer numériquement les éléments de la matrice hessienne à partir de l'approximation suivante : , , , of J'(@après ) = j'a) = 1 LU J I -- AU / OÀ; EUR OÙ Après Est égal à a excepté pour la à" composante qui est augmentée de la quantité EUR. Par exemple, si i = 2, On à : &yprès = (A1 ; A2+EUR; A3). pour 1 gazeux avec la
température (T)
e Expérience
LLonnmmnt TT |
ne Modèle 1 -- =
-- Modèle 2 2
D OT
G:
oe
E
Q.
OU
D.
À.
0 500 1000 1500 2000 2500
3000 3500 4000
T (K)
Figure 4 - Confrontation des points expérimentaux et des valeurs prédites par
les deux modèles proposés
dans le plan CP,/R versus T
12/16
ANNEXE
Quelques commandes utiles en langage Python
À - Bibliothèque NUMPY de Python (gestion des tableaux, matrices, vecteurs et
fichiers) 13
B - Résolution d'une équation non linéaire à une inconnue 15
C - Bibliothèque MATPLOTLIB.PYPLOT de Python (gestion des graphes) 16
A - Bibliothèque NUMPY de Python (gestion des tableaux, matrices, vecteurs et
fichiers)
Dans les exemples ci-dessous, la bibliothèque numpy a préalablement été
importée à l'aide de la com-
mande : import numpy as np. On peut alors utiliser les fonctions de la
bibliothèque, dont voici
quelques exemples :
np.array(liste)
Description : fonction permettant de créer une matrice (de type tableau) à
partir d'une liste.
Argument d'entrée : une liste définissant un tableau à 1 dimension (vecteur) ou
2 dimensions (ma-
trice).
Aroeument de sortie : un tableau (matrice).
Exemples : Commande Résultat
np.array([4,3,2]) [4 3 2]
CCS]
np.array([[5]1,[7],[1]1]) [7]
[1]]
np.array([[3,4,10],[1,8,71]) H à 0
Afi;j]
Description : fonction qui retourne l'élément (1 + 1,7 + 1) de la matrice À.
Pour accéder à l'inté-
gralité de la ligne : + 1 de la matrice À, on écrit Afi, :]. De même, pour
obtenir toute la colonne
j + 1 de la matrice À, on utilise la syntaxe Af: ,7].
Argument d'entrée : une liste contenant les coordonnées de l'élément dans le
tableau À.
Aroeuments de sortie : l'élément (4 + 1,7 + 1) de la matrice A.
RAPPEL : en langage Python, les lignes d'un tableau À de taille n X m sont
numérotées de 0 à
n -- | et les colonnes sont numérotées de 0 à m-- I.
Exemples : Commande Résultat
A=np.array([[3,4,10]1,[1,8,7]1) 10
A[O6,2]
Af1,:] [1 8 7]
Al[:,2] [10 7]
np.zeros((n,m))
Description : fonction créant une matrice (tableau) de taille 7 X m dont tous
les éléments sont nuls.
Argument d'entrée : un tuple de deux entiers correspondant aux dimensions de la
matrice à créer.
Aroeument de sortie : un tableau (matrice) d'éléments nuls.
Exemple : Commande Résultat
[[®O 6 © 6]
np.zeros((3,4)) [© 6 © 0]
[© © © 0]]
13/16
np.dot(matl,mat2)
Description : fonction calculant le produit de deux matrices mat 1 et mat2.
Argument d'entrée : matrices mat 1 et mat2.
Argument de sortie : la matrice produit de mat 1 et mat2.
np.linals.inv(mat)
Description : fonction calculant la matrice inverse de la matrice mat.
Argument d'entrée : matrice mat.
Argument de sortie : la matrice inverse de mat.
np.linals.eig(mat)
Description : fonction calculant les valeurs propres de la matrice mat.
Argument d'entrée : matrice mat.
Argument de sortie : c'est un tuple dont le premier élément correspond aux
valeurs propres tandis
que le second élément contient les vecteurs propres.
Pour accéder aux valeurs propres de mat, on écrira :
np.linalg.eig(mat)[0]
np.linspace(Min,Max,nbElements)
Description : fonction créant un vecteur (tableau) de nbElements nombres
espacés régulièrement
entre Min et Max. Le premier élément est égal à Min, le dernier est égal à Max
et les éléments sont
espacés de (Max-Min)/(nbElements-1).
Argument d'entrée : un tuple de 3 entiers.
Aroeument de sortie : un tableau (vecteur).
Exemple : Commande Résultat
np.linspace(3,25,5) | [3 8.5 14 19.5 25]
np.loadtxt('nom_fichier",delimiter="string",usecols=[n])
Description : fonction permettant de lire les données sous forme de matrice
dans un fichier texte
et de les stocker sous forme de vecteurs.
Argument d'entrée : le nom du fichier qui contient les données à charger, le
type de caractère
utilisé dans ce fichier pour séparer les données (par exemple, une espace ou
une virgule) et le
numéro de la colonne à charger (RAPPEL : la première colonne est affectée du
numéro 0).
Argument de sortie : un tableau.
Exemple :
data=np.loadtxt('fichier.txt",delimiter=' '',usecols-[0])
Dans cet exemple, data est un vecteur qui correspond à la première colonne de
la matrice conte-
nue dans le fichier fichier.txt.
14/16
B - Résolution d'une équation non linéaire à une inconnue
La bibliothèque adaptée est chargée par l'instruction : from scipy import
optimize.
L'équation à résoudre est mise sous la forme : f(x) = 0, où x désigne
l'inconnue. La fonction f doit
d'abord être définie à l'aide de l'instruction def.
Exemple : si l'équation à résoudre s'écrit log x = 3, la fonction f a pour
expression : f(x) = log x -- 3.
Codage :| def f(x):
return log160(x) - 3.
La fonction root peut alors être utilisée pour résoudre l'équation. La variable
x doit être initialisée
à une valeur aussi proche que possible de la solution.
# Valeur initiale de x
Xinit = 1.
# jac = None signifie que la dérivée de f (dont se sert
# la fonction root pour effectuer la résolution)
# n'est pas fournie par l'utilisateur mais estimée
# numériquement par Python.
Xsol = root(f,Xinit,jac=None)
La solution de l'équation est rangée dans le premier élément du vecteur Xsol.x,
c'est-à-dire :
Xsol.x[0]
15/16
C - Bibliothèque MATPLOTLIB.PYPLOT de Python (gestion des graphes)
Cette bibliothèque permet de tracer des graphiques. Dans les exemples
ci-dessous, la bibliothèque
matplotlib.pyplot a préalablement été importée à l'aide de la commande :
import matplotlib.pyplot as plt
On peut alors utiliser les fonctions de la bibliothèque, dont voici quelques
exemples :
plt.plot(x,y,' SC')
Description : fonction permettant de tracer un graphique de n points dont les
abscisses sont conte-
nues dans le vecteur x et les ordonnées dans le vecteur y. Cette fonction doit
être suivie de la
fonction plt.show() pour que le graphique soit affiché.
Argument d'entrée : un vecteur d'abscisses x (tableau de n éléments) et un
vecteur d'ordonnées y
(tableau de n éléments).
La chaîne de caractères * SC" précise le style et la couleur de la courbe
tracée. Des valeurs pos-
sibles pour ces deux critères sont :
Valeurs possibles pour S (style) :
Description Ligne continue Ligne traitillée Marqueur rond Marqueur plus
Symbole S - - - O +
Valeurs possibles pour C (couleur) :
Description bleu rouge vert noir
Symbole EUR bb T g k
Argument de sortie : un graphique.
Exemple :| x= np.linspace(3,25,5)
y=sin(x)
plt.plot(x,y,'-b') # tracé d'une ligne bleue continue
plit.title("'titre_ graphique') # titre du graphe
plit.xlabel("'x') # titre de l'axe des abscisses
plt.ylabel("y') # titre de l'axe des ordonnées
plit.show()
FIN
16/16
IMPRIMERIE NATIONALE - 211163 - D'après documents fournis