R ÉSOUDRE UNE ÉQUATION DU TYPE f (x) = 0
T D 2 - SIM-NUM
1 Circuit RLC
On considère le circuit RLC série suivant. D’après la loi des mailles :
u(t) = R.i(t)+s(t)+L.di
dt(t) avec i(t)=C.ds dt(t)
d’où u(t) = s(t)+R.C.ds
dt(t)+L.C.d2s
dt2(t) (1)
= s(t)+ 2.ξ ω0
.ds dt(t)+ 1
ω20.d2s
dt2(t) (2)
R
C
L
u(t) s(t)
i(t)>
2 Identification de C
2.1 Circuit RC série
1 # Lecture du fichier contenant les points expérimentaux.
2 fichier = open("pts-exp-rc.txt", ’r’) 3 donnees = []
4 for lu in fichier:
5 if lu[0] != ’#’: #on excepte les lignes "commentaires"
6 donnees.append(lu) #on stocke dans la liste la ligne lue 7 fichier.close() #fermeture du fichier
8
9 # Traitement des données - Séparation t/val 10 t, val = [], []
11 for lu in donnees:
12 (x1,x2)=lu.split() #sépérartion par défaut 13 t.append(float(x1))
14 val.append(float(x2))
FIGURE1 – code Python pour lire un fichier et en extraire les points expérimentaux.
1 # Lecture du fichier contenant les points expérimentaux.
2 import numpy as np
3 t, val =np.loadtxt(’pts-exp-rc.txt’, unpack = True)
FIGURE2 – code Python pour extraire les points expérimentaux d’un fichier avec numpy.
1 import matplotlib.pyplot as plt 2
3 # Présentation de la courbe expérimentale 4 fig1 = plt.figure()
5 plt.title("Points expérimentaux") 6 plt.xlabel(’temps’)
7 plt.ylabel(’Tension’, color=’b’) 8 plt.plot(t,val,color=’r’)
9
10 plt.show()
FIGURE3 – code Python pour présenter une courbe avec matplotlib.
Nous cherchons à déterminer de façon expérimentale les caractéristiques du circuit. L’impédance de la résistance est mesurée à l’aide d’un Ohmmètre.
On enlève l’inductance dans le circuit précédent pour déterminer la capacité du condensateur.
L’équation (2) devient u(t) = R.C.ds
dt(t)+s(t) (3)
R
u(t) C s(t)
i(t)>
On applique alors une tension constante en entrée u(t)=U0et on relève expérimentalement les valeurs de la sortie.
La solution théorique du problème est : s(t)=U0. 1−e− t
R.C
!
avec U0=10 V et R=10Ω (4)
Q - 1 : A partir du fichier "pts-exp-rc.txt" fournies en document annexe et contenant les n valeurs expérimentales, tracer la courbe expérimentale. On pourra s’aider des FIG1, FIG2 et FIG3.
2.2 Méthode des moindres carrés
2.2.1 Problématique
On propose ici d’identifier C par une méthode des moindres carrés. Le principe de cette méthode d’identification réside dans la minimisation de l’erreur entre une courbe théorique et les points expérimentaux.
Le plus simple est de chercher C en faisant la moyenne des points expérimentaux : s(t)=U0. 1−e−
R.Ct
!
⇒ 1− s(t) U0 =e−
R.Ct ⇒ ln 1− s(t) U0
!
=− t
R.C ⇒ C= t
R.ln 1− s(t) U0
!
Si appelle si, le point expérimental au temps tialors:
C≈ 1 n.
Xn
i=1
ti
R.ln 1− si
U0
! mais un problème apparaît si expérimentalement si >U0
Cela peut très bien être le cas en régime permanent à cause du bruit.
2.2.2 Principe de la méthode
Soit une fonction f théoriques et (ti,yi)ni=1une famille de n points expérimentaux.
La méthode des moindres carré permet de chercher la distance minimum (en norme 2) entre la courbe théorique et les points expérimentaux en fonctions d’une familles de paramètres (xj)mj=1. Notons ainsi, cette distance D telle que :
D(x1, . . . ,xm)= 1 2
n
X
i=1
( f (ti,x1, . . . ,xm)−yi)2
Minimiser D suivant les paramètres (xj)mj=1, revient à résoudre le système suivant :
∂D
∂x1
...
∂D
∂xm
=
0
... 0
⇒ ∀j∈~1,m Xn
i=1
f (ti,x1, . . . ,xm)−yi
.∂f
∂xj =0 et pour m=1, D′(x)= Xn
i=1
f (ti,x)−yi
.∂f
∂x =0
Dans le cas d’une résolution de l’équation D′(x)=0 par une méthode de Newton, il convient de calculer D′′(x) soit:
D′′(x)= Xn
i=1
f (ti,x)−yi
.∂2f
∂2x + ∂f
∂x
!2
2.2.3 Recherche de C
Pour résoudre ce problème, on construit alors la fonction erreur Err(C) au sens des moindres carrés telle que : Err(C)=
n
X
i=1
(s(ti)−si)2=
n
X
i=1
U0.
1−e− ti R.C
−si
2
(5) Déterminer C revient à trouver le minimum de Err(C). Cela revient donc à résoudre Err′(C)=0.
or Err′(C)=−
n
X
i=1
2.U0.ti R.C2.e−
ti R.C
U0.
1−e− ti R.C
−si
Après simplification, le problème d’identification de C revient à résoudre:
f (C)=0 avec f (C)= Xn
i=1
ti.e− ti R.C.
U0.
1−e− ti R.C
−si
(6)
Pour l’identification de C, on choisira une erreur relative de 10−8.
Q - 2 : Chercher par dichotomie une valeur de C solution du problème d’identification par moindres carrés, dans l’intervalle [10−6,1].
f′(C)=
n
X
i=1
ti2 R.C2.e−
ti
R.C.
U0.
1−2.e− ti
R.C
−si
(7)
Q - 3 : A l’aide d’un algorithme de Newton et d’une première valeur C0 =0,005, déterminer une valeur de C solution du problème d’identification par moindres carrés.
Q - 4 : Afficher la courbe expérimentale puis ajouter la courbe théorique avec la valeur de C que vous avez identifiée.
3 Identification de L
3.1 Abaque du temps de réponse à 5%
Dans le cas d’une entrée constante u(t)=1 avec comme conditions initiales s(0) = s′(0)= 0, la solution s(t) de l’équation (2) peut se mettre sous la forme générale suivante :
siξ>1 →s(t) = 1+ e−ω0.t.(ξ+
√ξ2−1).(ξ− q
ξ2−1)−e−ω0.t.(ξ−
√ξ2−1).(ξ+ q
ξ2−1) 2.
q ξ2−1 siξ=1 →s(t) = 1−(1+ω0.t).e−ω0.t
siξ<1 →s(t) = 1− e−ξ.ω0.t q
1−ξ2 sin
ω0.p
1−ξ2.t+arctan
q
1−ξ2 ξ
avec ω0= √1
L.C et ξ= R 2.
qC L
Dans les 3 cas, lim
t→∞s(t)=1. Comme la fonction s est continue∀t∈R+et que s(0)=0 alors :
∃t5%∈R+/∀t≥t5%, 0,95≤ s(t)≤1,05
On appelle t5%le temps de réponse à 5% du système. On cherche ici à déterminer X =ω.t5%pour toutξ ∈R+∗.
Comme s crée une bijection deR+dans [0,1] pour toutξ∈[1,∞[, le problème, pour ces valeurs deξdevient alors : Trouver X tel que :
siξ>1 →0 = 0,05+ e−X.(ξ+
√ξ2−1).(ξ− q
ξ2−1)−e−X.(ξ−
√ξ2−1).(ξ+ q
ξ2−1) 2.
q ξ2−1
=∆ F1(X) siξ=1 →0 = 0,05−(1+X).e−X =∆ F2(X)
avec :
F′1(X) = −e−X.(ξ+√
ξ2−1)
−e−X.(ξ−√
ξ2−1)
2.
q ξ2−1 F′2(X) = X.e−X
Q - 5 : Mettre en place un algorithme de Newton pour résoudre F1(X)=0, ∀ξ∈]1,∞[ et pourξ =1, résoudre F2(X)=0.
Dans le cas oùξ∈]0,1[, la fonction s n’est pas monotone surR+. En revanche, elle admet des extremums locaux tous les tk tels que :
ω0.tk = k.π q
1−ξ2
et s(tk)=1−(−1)k.e
−k. ξ.π
√1−ξ2 avec k∈N. Notons que k=− q
1−ξ2
ξ.π .ln (|s(tk)−1|) Q - 6 : Puisque|s(tk)−1|est une suite décroissante, déterminer k0, la plus petite valeur de k telle que 0,95 <
s(tk) < 1,05. Proposer alors un algorithme permettant de fournir un premier candidat x0 à la méthode de Newton pour les casξ∈]0,1[,ξ=1 etξ >1.
siξ>1 → x0= 1
ξ− q
1−ξ2 siξ=1 → x0=4,75
siξ<1 → x0= π q
1−ξ2
.2.k0−1 2
La fonction s étant monotone sur ]tk0−1,tk0[, il va donc être possible d’y rechercher la solution du problème par une méthode de Newton. On distingue alors 2 cas:
k0est pair → s(t5%)=1,05 k0est impair→ s(t5%)=0,95 Q - 7 : Programmer alors une fonction F(X,k0) telle F(ω0.t5%,k0)=0.
Q - 8 : Construire un programme permettant de calculerω0.t5%pour une répartition linéaire ou logarithmique de n valeurs deξ∈]10−p,10p[ avec p∈R. Commencer avec p=1
3.2 Estimation de L
Q - 9 : A partir du fichier de points fourni en annexe, charger les valeurs expérimentales de la réponse du circuit RLC à une tension unitaire.
Q - 10 : Déterminer la taille du premier dépassement s(t1)−1. En déduireξ. Proposer alors une valeur pour L.
Q - 11 : A l’aide de tris, proposer un programme capable de déterminer le temps de réponse à 5% à partir des points expérimentaux.
Q - 12 : A partir de la valeur deξ trouvée précédemment et des valeurs obtenues pour l’abaque ω0.t5% en fonction deξ, déterminerω0.
Q - 13 : Identifier à nouveau L. Les deux valeurs vous semble-t-elles compatibles ?