bonjour tout le monde
Je veux implémenter la récurrence de bonnet
NB : <<p(0,x) lire "p zéro de x">>
on a les données; p(0,x) = 1 et p(1,x) = x
p(n+1,x) = (2n+1)*x*p(n,x)/(n+1)-n*p(n-1,x)/(n+1)
je travaille dans l'intervale ]0,1[
pour cela j'ai crée 2 fonctions
la premiere fonction doit me generer un nombre aléatoire dans l'intervalle ]0;1[
la deuxième fonction pour la récurrence :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 double float_0_1(double a, double b) { double x ; x = ( rand()/(double)RAND_MAX ) * (b-a) + a; return x ; }
enfin dans ma fonction main() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void PolynomeBonnet() { double L[]={}; L[0]=1; int const N=10; double a,b,x; cout<<"la borne inferieur vaut"<<a<<endl; cin>>a; cout<<"la borne supérieure vaut"<<b<<endl; cin>>b; for (int i = 1;i<N; i++) { x = float_0_1(a,b); L[1]=x; L[i+1] = ((2i+1)/(i+1))*x*L[i]-(i/(i+1))*L[i-1]; } }
mais lorsque j’exécute ,j'arrive pas déjà à bien borner mon intervalle , par contre j'ai 2 nombres aléatoires qui se génèrent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int main() { double a,b,x; cout<<"la borne inferieur vaut"<<a<<endl; cin>>a; cout<<"la borne supérieure vaut"<<b<<endl; cin>>b; return 0; }
alors que je voudrais juste qu'un nombre aléatoire x , se génère dans l'intervalle ]a;b[ , et qu'ensuite j’utilise ce nombre pour calculer le vecteur L
merci de votre aide
Partager