Cours_4_dérivation_intégration

Download Report

Transcript Cours_4_dérivation_intégration

Dérivation et intégration
Décomposition Chebyshev
L’intégration et le dérivation sont des opérations linéaires.
Elles pourront s’exprimer, pour les coefficients de décomposition
spectrale, ou pour les valeurs de la fonction aux points de collocation,
comme des opérations de multiplication matricielle.
Primitivation dans l’espace spectral
Décomposition spectrale :
N
fN (x) 

fˆn T n ( x ) 
n0
N

fˆn cos( n . arccos( x ))
n 0
Le calcul de la primitive s’obtient directement par :
N

f N ( x ) dx 

n0
n
N
N
n0
n 0
T n ( x )    fˆn T n ( x ) dx   fˆn  T k ( x ) dx
Il faut donc exprimer les coefficients n de l’écriture de la primitive
en fonction des coefficients de la décomposition spectrale de f.
Exprimons les primitives de chaque polynôme de Chebyshev dans
la base Chebyshev :
 T dx
0
 T dx
1
 x  T1 ( x )

x
2

T2 ( x )
2

T0 ( x )
4
4
En posant   arccos( x ), T n ( x )  cos( n  )
T 'n ( x )   n
T ' n 1 
T ' n 1 
T ' n 1
n 1

d
sin( n  ) 
dx
n 1
n
1- x
2
sin( n  )


2
T ' n 1 T ' n 1
sin(( n  1) )  sin(( n  1) )
1 x




2
n 1
n

1
n

1
1

x
sin(( n  1) ) 
2

1 x
T ' n 1
n 1
sin(( n  1) )
2
sin(  ) cos( n  )
sin 
 2 cos n   2 T n
 T dx
0
 x  T1 ( x )
 T1dx 
x
2
2

T2 ( x )

4
Pour n>1 :  T n dx

T0 ( x )
4
1
2n  2
T n 1 
1
2n  2
T n 1
On injecte des relations dans le calcul de la primitive de f :
N

n0
n
Tn
N
T
T
T n 1 


 T
 fˆ0 T1  fˆ1  2  0    fˆn  n  1 

4  n2  2n  2 2n  2 
 4
N 1 ˆ
N 1 ˆ
T
T
f
f n 1


2
0
n 1
ˆ
ˆ
 f 0 T1  f 1 

Tn  
Tn

4  k 3 2 n
 4
k 1 2 n
N
ˆ 

 fˆn 1
fˆ1
f
fˆn  1 
fˆN
2
ˆ
   Tn 
  T N 1
 T0
 T1  f 0 


4
2  n  2  2 k
2 k 
2N

On en déduit les k par identification terme à terme des pondérations
des différents polynômes de Chebyshev. Les contributions en TN+1
sont ignorées (tronquées).
f1
0 
4
1  f0 

n2

f2
2
f n 1  f n 1
2n
  
  
k 
  
  
Primit
 
 ˆ 
fk
 
  
Matrice creuse : termes non nuls sur la diagonale inférieure et la diagonale
supérieure.
Matrice de primitivation calculée sous Matlab.
Attention : les tableaux sous Matlab commencent avec le premier indice à 1 au lieu
de 0.
La programmation de l’opérateur de primitivation spectrale est donné dans la procédure
Primspect.m.
Primitivation dans l’espace Physique
Pour obtenir la valeur de la primitive f(-1) de f aux points de collocation, il
suffit d’écrire :
F 
F
( -1 )
 f ( xn ) 

 f (x

f n , n  0 ,..., N
t

t
n

, Fˆ  fˆn , n  0 ,..., N
), n  0 ,..., N , Fˆ
(-1)

( 1)
 fˆn , n  0 ,..., N
( 1)
Fˆ
 Primit . Fˆ
Fˆ  T PS . F
F
( 1)
Donc
( 1)
 T SP . Fˆ
F
( 1)

t
 T SP . Primit .T PS . F

t
Matrice de primitivation en collocation Chebyshev Gauss-Lobatto.
Calcul d’une intégrale
Si les bornes d’intégration sont des points de collocation, il suffit de faire
la différences entre les valeurs de la primitive définies en deux points.
Sinon, on calcule le spectre de la primitive, on l’interpole aux deux bornes
de l’intégration et on calcule la différence.
Interpolation Chebyshev à partir du spectre :
-utilisation de la formule de la décomposition Chebyshev avec cosinus et
arccosinus.
-utilisation de la formule récursive de Chebyshev pour l’évaluation de
la valeur des polynômes en un point :
Tn 1 ( x )  2 xT n ( x )  Tn 1 ( x )
L’utilisation de cette formule récursive permet une meilleure précision du calcul,
et son utilisation est illustrée dans la procédure Interpspect.m.
Exercice :
- définissez-vous, sur [-1,1] une fonction f(x) analytique dont vous savez
calculer la primitive.
-calculer numériquement son intégrale sur un intervalle [a,b] inclus dans
[-1,1].
-Définir les points de Gauss-Lobatto associés à une décomposition de
degré N.
-Dénifir f(x) sur ces points de Gauss-Lobatto.
- Calculer le spectre de f(x).
- Calculer le spectre de la primitive de f.
- En déduire la valeur de votre intégrale comme différence des
primitives aux points a et b.
-Comparer à la solution analytique.
Dérivation dans l’espace spectral
Décomposition spectrale :
N
fN (x) 

fˆn T n ( x ) 
n0
N

fˆn cos( n . arccos( x ))
n 0
Le calcul de la dérivée s’obtient directement par :
N
fN (x) 
(1 )

n 0
(1 )
fˆN T n ( x ) 
N

fˆN T ' n ( x )
n 0
Il faut donc exprimer les coefficients de l’écriture de la dérivée
en fonction des coefficients de la décomposition spectrale de f.
Avant de faire les calculs, voyons ce qui peut être prévu sur la
matrice de dérivation associée.
On cherche la matrice de dérivation :
termes non nuls, et …
f 0 disparaît
  
 ˆ  
fn ' 
  
  
f ' N est nul.
f ' i ne dépend que de f k , k  i
fˆi ' ne dépend que de polynômes
de même parité : de fˆ k tels que k  i impair.
 
 ˆ 
fn
 
  
2 Tn 
T ' n 1
n 1
2 Tn  2 

T ' n 1
n 1
T ' n 1
n 1

, pour n  2, cas n pair
T 'n 3
n3
2 T2 
1
3
n 1
2

T ' n 1
n 1
....
1
k 0
k pair
T '3  T0
T ' n 1
2 Tn  2 
2 T1 
n
T ' n 1  2 n  1  
....
2 Tn 
,
T ' n 1
n 1

ck
, pour n  2, cas n impair
T 'n 3
n3
,
T ' n  1  2 n  1 
n

k 0
k impair
T '2
Tk ( x )
Tk ( x )
ck
Opérateur
Ds kn 
2n
ck
de dérivation
: les termes non nuls sont
, n  k  1  0 et impair.
Dérivée seconde dans l’espace spectral :
Ds(2) =Ds.Ds
Ces opérateurs sont nilpotents.
Ds possède une valeur propre nulle.
DS(2) possède deux valeurs propres nulles.
Dérivation dans l’espace physique :
On cherche à écrire l’opérateur de dérivation applicable au champ représenté
par ses valeurs nodales en collocation.
D  T SP . D spec .T PS
D
(2)
 T SP . D spec .T PS  D . D
(2)
La matrice de dérivation dans l’espace spectral est donnée par la procédure
En Gauss-Lobatto, la matrice de dérivation première est connue
analytiquement.
Exercice :
- définissez-vous, sur [-1,1] une fonction f(x) analytique que vous savez
dériver.
-calculer numériquement sa dérivée sur les points de collocation GaussLobatto.
-Définir les points de Gauss-Lobatto associés à une décomposition de
degré N.
-Dénifir f(x) sur ces points de Gauss-Lobatto.
- Calculer l’opérateur de dérivation première dans l’espace physique.
- Calculer l’opérateur de dérivation seconde dans l’espace physique.
- Comparer les dérivées premières et secondes numériques aux
dérivées analytiques.
A disposition : GaussLobatto, PhysSpectGL, SpectPhysGL, derspect
(pas de programme de corrigé)
Résolution d’un problème de Helmholtz ou de Laplace 1D en collocation
Gauss-Lobatto
On cherche à résoudre le problème différenti el :
  2
2 

  2  H  u  s ( x ), x   1,1
x


u


u
(

1
)


 



 x x  1

u

  u (1 )   
 

 x x 1

- Définir l’équivalent matriciel de ce problème en collocation Gauss-Lobatto.
- Programmer l’opérateur agissant sur u.
- Définissez-vous une solution analytique dérivable analytiquement.
- Définir la source s(x) et les valeurs des conditions aux limites compatibles
avec cette solution analytique : le système étant linéaire, la solution est unique.
-Résoudre numériquement le problème linéaire résultant et comparer la
solution avec la solution analytique.
Corrigé :

 ...



...


d 




 


dx  1

2
DX
d 

    

dx

 N 1

...   U 1

  ...

... U

N 1

 
  
 
 s
 
  
 






