•Méthodes de développement •Python scientifique (suite)

Programmation
scientifique
Méthodes de développement
Python scientifique (suite)
Wednesday, March 24, 2010
Méthodes de
développement
Wednesday, March 24, 2010
Conception d’un programme
Penser au problème en termes généraux d’étapes de
traitement et des types des données. Plusieurs
étapes:
Un cahier des charges: que doit faire le
programme, quelles sont les valeurs, données
dont il a besoin; quelle est la nature du résultat.
Un brouillon de votre programme en français,
cad en pseudo-code. Décrit, les étapes
successives du programme. Résume les
méthodes qu’il doit employer.
Wednesday, March 24, 2010
Conception d’un programme (2)
Formalisez votre description en un plan du
programme (organigramme) qui représente
l’enchainement des actions
Préparez des exemples tests simples. Ayez les idées
claires comment votre programme va traiter ces cas
tests. Simulez, dans la tête, sur le papier le programme.
Procédez par étapes: description générale à détaillée,
processus itératif.
Commencez à coder. Testez chaque partie
indépendante.
Wednesday, March 24, 2010
Etablir un organigramme
Exemple: simulation expérience de diffraction de
la lumière à l’infini au travers d’un trou dans un
écran
Calcul de l'amplitude
de la lumière de la
source
Calcul de l'amplitude
de la lumière à l'infini
Représentation de la
figure de diffraction
FIG.1Schéma de la diffraction par un trou
1.5 Diffraction par un trou ciculaire
On suppose que la pupille est un trou ciculaire de rayon a. Montrez que le champ électrique est proportionnel
à l’intégrale de la fonction de Bessel :
E!2"a
0
#J0($r#)d#$Xx+$Yy=$r#cos%
Utilisez la propriété de la fonction de Bessel pour montrer que :
E!a2J1(t)
tavec t=$ra
FIG.2Représentation graphique de la fonction J1(t)
t
3
σ=(X, Y )
1.1.3 Changement de variable par rotation
On considère le cas d’un changement de variable telque les vecteurs X=(x1,x2,···,xn)et U=(u1,u2,···,un)
soient reliés par la relation linéaire X=RU.Rétant une matrice, montrez que le Jacobien Jest égal à son
déterminant.
On s’intéresse au cas où la transformations linéaire Rest une isométrie (application qui conserve les distances et
le produit scalaire) et à ce titre possède un déterminant égal à 1 ou 1. On suppose par ailleurs que le domaine
d’intégration Dest invariant par la transformation linéaire c’est à dire que R(D)=D. Montrez alors que
···D
f(x1,x2,···,xn)dx1dx2···xn=···D
g(u1,u2,···,un)du1du2···un
1.2 Rappels sur les fonctions de Bessel
On rappelle la définition des fonctions de Bessel :
Jn(x)= 1
2!!
!
ei(xsin"n")d"=1
!!
0
cos(xsin"n")d"et la propriété d
dx(xnJn(x)) = xnJn1(x)
1.3 Rappels de diffraction
On éclaire un plan percé d’un trou (Fig. 1) par un faisceau de lumière monochromatique perpendiculaire au
plan. On admet que loin de la pupille de diffraction, le champ électrique Esur l’écran est proportionnel à
l’intégrale :
��
S
ei(#Xx+#Yy)dxdy
Où l’intégrale est étendue à la surface Sde la pupille, #Xet #Ysont proportionnels aux coordonnées Xet Y
du point d’observation sur l’écran. On peut également écrire cette intégrale explicitement sous la forme d’une
transformée de Fourier :
��
IR 2
TS(r)ei#.rdxdy avec #=(#X,#Y);r=(x,y)
TS(r)étant le facteur de transmission de la plaque éclairée qui vaut 1 sur la pupille et 0 partout ailleurs.
1.4 Transformée de Fourier d’une fonction radiale
On appelle fonction radiale f(x,y)une fonction qui ne dépend que de la norme |X|=x2+y2. Soit ˜
f(K)sa
tranformée de Fourier.
˜
f(K)=��
IR 2
f(X)eiK.Xdxdy
Démontrez en utilisant les résultats précédents sur les changements de variable que pour toute rotation ˜
f(Rk)=
˜
f(k). Autrement dit ˜
f(k)est également une fonction radiale.1
1On utilisera la relation RK.X=K.R1Xet on effectuera le changement de variable linéaire R1X=$.
2
r=(x,y)
facteur de transmission de l’écran
Wednesday, March 24, 2010
1 / 49 100%

•Méthodes de développement •Python scientifique (suite)

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !