Mouvement brownien
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 3 sur 3•
Page 3 sur 3 •
1, 2, 3
Re: Mouvement brownien
J'ai fait une autre solution qui est plus simple mais qui génère un seul vecteur :
- Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include<time.h>
//Générateur d'une loi Uniforme
float unif ()
{
return( (float) rand()/RAND_MAX);
}
// Générateur d'une loi Normale
float normale ( float e, float v)
{
srand(time(NULL));
float u1,u2,c,w1,w2,w;
do
{
u1=unif();
u2=unif();
w1=2*u1-1;
w2=2*u2-1;
w=w1*w1+w2*w2;
}
while (w>1);
c=sqrt(-2*log(w)/w);
return (c*w*sqrt(v)+e);
}
//Simulation d'un Mouvement Brownien
int main()
{
int i,n,T;
float x,d;
x=0;// La somme d'une variable normale est initialisée en zéro
n=100;// Le nombre de période temps
T=1;
d= (float) T/n;//Le pas qu'on va utiliser
for (i=1;i<=n;i++)// Boucle FOR qui parcoure les N intervalles qu'on a pris
{
x=x+normale(0,1);// X est la somme d'une loi normale centrée et réduite
printf(" la valeur est:%f \n",sqrt(d)*x);/* Le mouvement Brownien est la racine carré de la
période de temps fois la variable normale X */
}
getch();
return(0);
}
ihecien- Nouveau membre




- Messages : 23
Inscrit le : 10 Nov 2007
Age : 24
Localisation : Exponentielle
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: Mouvement brownien
c'est bonh. elle fait ce qui est demandé 
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Page 3 sur 3 •
1, 2, 3



