Bonsoir à tous,
Je dois calculer des intégrales par la méthode de montecarlo c'est à dire l'aire sous la courbe représentative de ces fonctions.
Les deux fonctions sont f(x)= (1+x) / (1+x²) et g(x)=x*sin(2*pi*x) et je dois calculer leur intégrale entre 0 et 1
La fonction f a pour minimum a=1 et pour maximum b=(racine carré de 2) / (4- 2f racine carré de 2) et la fonction g a'= 0 et b'= 1
Pour calculer l'aire sous la courbe de ces fonctions je dois choisir au hasard une valeur alpha entre a et b et une valeur au hasard beta entre 0 et 1
Si beta>f(alpha) alors il a échec sinon succès
on fait N fois l'expérience avec N=100 et l'aire sous la courbe vaut S/N avec S le nombre de succès.
Je propose cet algorithme:
function y=f(x);
y=(1+x)/(1+x*x)endfunction;
function z=g(x);
z=x*sin(2*%pi*x)endfunction;
function a1=aire(N)
S=0;
A=S/N;
a=rand();
b=rand();
if (g(a)>b) then S=S+1;
aire(N)=A;
end
endfunction
Je ne vois pas trop comment le corriger, merci de votre aide. COrdialement.
-----