Bonjour,
Voilà mon problème, je dois créer un programme permettant l’intégration 2D d’une fonction en C++. Le dilemme est que je ne sais pas coder en C++ mais pas en C. Je fais un peu de scilab mais bon faut pas trop m’en demander donc si ya des personne pour m’aider ou bien pour me donner des pistes, je suis preneur.
Voilà le programme que l’on m’a passé pour l’intégration 1D. On m’aurai passer un bouquin en russe ou en japonais, j’aurais peut être compris mais là…
[codebox]// g++ -o integration.e integration.cpp
#include
#include
#include
using namespace std;
float g(float);
//**********************************************************************
int main (void)
{
//ofstream fich(“integration.dat”);
int i,N=100000,seed=12; // déclaration des variables (seed : numéro d’une série de nbres aléatoires
double pi=acos(-1.); // affecte à la variable pi la valeur du cosinus inverse de -1) en double précision
double GN,alea,G=pi/4.,sigma2;
srand(seed);
cout<<" RAND_MAX"<< (double) RAND_MAX<<endl; // cout : écrit des résultats sur l’écran
GN=0;
for(i=0; i<N; i++)
{
alea=rand()/(double) RAND_MAX; // alea est un nbre réel aléatoire compris entre 0 et 1 (xi)
GN=GN+g(alea);
}
GN=GN/N;
cout<<“GN=”<<GN<<" G="<<G<<endl;
//fich.close();
//ofstream graph (“integration.gnu”);
//graph<<“set encoding iso_8859_1”<<endl;
//graph<<“set title ‘test de convergence’”<<endl;
//graph<<“set xlabel ‘N’”<<endl;
//graph<<“set ylabel ‘sigma’”<<endl;
//graph<<"set logscale x "<<endl;
//graph<<"set logscale y "<<endl;
//graph<<"set terminal x11 "<<endl;
//graph<<,"set terminal postscript color "<<endl;;
//graph<<“set output ‘integration_1D.ps’”<<endl;;
//graph<<"plot ‘integration.dat’ index 0 title ‘MC’ with points "<<endl;
//graph<<"pause 5 ‘pause de 5s’ "<<endl;
//system(“gnuplot integration.gnu”);
}
//**********************************************************************
float g(float x)
{
float gx;
gx=sqrt(1-x*x);
return(gx);
}[/codebox]