Pb code calcul de la diffraction fraunhofer par methode numerique - C++ - Programmation
Marsh Posté le 08-01-2008 à 10:31:21
ta fonction simpson me parait douteuse à vue de nez.
Tu l'as sort de ou ?
Et accessoirement, c'est du C pas du C++
Marsh Posté le 08-01-2008 à 12:42:43
voici le lien ou j'ai trouvé ma fonction simpson que j'ai ensuite adapté à mon pb :
http://www.cppfrance.com/codes/INT [...] 27783.aspx
Marsh Posté le 08-01-2008 à 13:42:09
Code :
|
si c'est une intégration sur un plan, avec ces bornes ça fera 0 pour toute fonction.
Marsh Posté le 08-01-2008 à 15:04:22
ah ouais merci erreur de frappe je suppose
je vais corriger ca !
Marsh Posté le 09-01-2008 à 02:24:20
theoriquement ce genre de calcul est possible à coup de transformation de fourier, encore plus pour le cas fraunhofer car tu fais des hypothèses sur le fait que tu te trouves à r>>lambda. Passer par du simpson ne semble pas etre la meilleur idée! (apres j'ai pas vraiment tout lu en detail, je parle juste par experience)
Marsh Posté le 10-01-2008 à 09:54:33
ouais va falloir que je modifie qque chose car malgré la correction sur les bornes de y ca me rend toujours une intensité nulle ...
Marsh Posté le 10-01-2008 à 10:46:13
je viens d'installer la librairie fftw3. Quelqu'un aurait un site ou un document qui m'expliquerait comment l'utiliser ?? mci d'avance
Marsh Posté le 08-01-2008 à 10:23:54
Bonjour à tous,
Voila je post ce message car j'ai un code en langage c à réaliser qui calcule par une méthode numérique la diffraction de fraunhofer. Voici un sujet similaire au mien : http://www.impmc.jussieu.fr/impmc/ [...] 5/td5.html( attention monsujet ne comporte que la partie I).
J'ai utilisé la méthode de simpson pour faire mon calcul d'intégrale. Mon problème ce que mon code me rend une intensité nulle et je ne comprend pas pourquoi ??? . J'ai utilisé 4 fonctions ( F1, F2, F3, F4) pour séparer la partie cosinus et la partie sinus et aussi pour séparer les x des y.
Voila si quelqu'un pourrait m'aider un peu car je patauge depuis un petit moment ?!?! ^^
Merci d'avance !
Voici la code que j'ai réalisé :