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[
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 ;
}
la deuxième fonction pour la récurrence :
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];
        }
}
enfin dans ma fonction main() :
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;
}
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
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