1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| // classe Solution_EDS
class Processus
{
public:
double b;
double sigma;
double x0;
};
class Solution_EDS:public Processus
{
private:
double h;
double W;//Brownien
public:
Solution_EDS(double bi=0.05, double sigmai=0.2, double x0i=1,double hi=0.025):W(0),h(hi)
{b=bi;sigma=sigmai;x0=x0i;};
double operator()(double t) const;
};
double Solution_EDS::operator()(double t) const
{
Loi_Normale N;
//Simulation de Brownien
W=+sqrt(h)*N.simule();
return (x0*exp((b-sigma*sigma/2)*t+sigma*W));
} |