IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

recurrence de bonnet


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 79
    Points : 35
    Points
    35
    Par défaut recurrence de bonnet
    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

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Ce code ne compile pas. Je ne vois pas comment il pourrait s'exécuter...
    double L[]={}; est une construction invalide en C++. Préfères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int const N=10;
    std::vector<double> L(N+1);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int const N=10;
    std::array<double,N> L;

    Sinon, pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = float_0_1(a,b);
    L[1]=x;
    sont dans la boucle for ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 79
    Points : 35
    Points
    35
    Par défaut recurrence de bonnet
    Bonjour
    et merci à 3DArchi , pour ces éléments de réponses . j'ai déjà présenté le code comme ci-dessous:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #include <iostream>
    #include<vector>
    #include<cstdlib>
    #include<ctime>
    using namespace std;
    double float_a_b(double a, double b)
    {
        double x ;
        x = ( rand()/(double)RAND_MAX ) * (b-a) + a;
        return x ;
    }
    // calcul du polynome de bonnet
     
    void PolynomeBonnet()
    {
        int const N=10;
        std::vector<double> L(N+1);
            L[0]=1;
        double a,b;
        double x;
        x = float_a_b(a,b);
        L[1]=x;
        for (int i = 1;i<N; i++)
            {
               L[i+1] = ((2i+1)/(i+1))*x*L[i]-(i/(i+1))*L[i-1];
            }
    }
    int main()
    {
        double a,b,dx;
            cout<<"la borne inferieur vaut a , entrer la valeur de a"<<endl;
    cin>>a;
            cout<<"la borne supérieur vaut b , entrer la valeur de b"<<endl;
    cin>>b;
    cout<<"le pas de temps est dx"<<endl;
    cin>>dx;
    int N ;
        N = (b-a)/dx;
        cout<<"le nombre de pas de discretisation est N="<<N<<endl;
    return 0;
    }
    mais j'ai une érreur à la ligne 25 .
    error : cannot convert double__complex_' to ' double 'in assignment

    merci de votre aide

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    2i => 2*i

Discussions similaires

  1. [complexité] Diviser pour règner, resolution recurrence
    Par rvfranck dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/10/2007, 10h59
  2. [complexité algo] recurrence avec changement de variable
    Par rvfranck dans le forum Algorithmes et structures de données
    Réponses: 26
    Dernier message: 13/10/2007, 19h15
  3. Programmer recurrence
    Par bichou dans le forum MATLAB
    Réponses: 3
    Dernier message: 27/06/2007, 18h11
  4. Problème avec un virus récurrent (je crois)
    Par trotters213 dans le forum Sécurité
    Réponses: 14
    Dernier message: 05/09/2006, 13h41
  5. Message d erreur recurrents
    Par pinpin2222222 dans le forum C++
    Réponses: 2
    Dernier message: 12/04/2006, 22h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo