Pb génération en matlab
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Pb génération en matlab



  1. #1
    tpscience

    Pb génération en matlab


    ------

    Bonsoir,

    Je suis en train d'établir un programme en Matlab, or dès le début je suis confronté à un problème que je n'arrive pas à résoudre.
    Il me semble comprendre d'où ça vient mais je n'arrive pas à trouver une solution.
    Voici ce que je définis : un simple vecteur dont la taille n'est pas importante, fixons par exemple une dimension de 5. Or, mes composantes sont définies par rapport à un irrationnel, d'où le manque de précision il me semble.

    Voici en résumé les parties importantes :

    ...
    Code:
    a = 1.46;
    b = 1.33;
    c = a/b;
    d = 5e-5;
    e = c*d/(2*(c-1));
    f = 2*e;
    
    for k=1:5
        if k==1
            g(k) = f/2;
        else
            g(k) = g(k-1) + f;
        end
    end
    ...

    Or, si je demande g(k)-g(k-1)-2*e pour quel que soit la valeur de k, le résultat obtenu n'est pas 0...?!!!

    Merci de votre aide.

    -----
    Dernière modification par JPL ; 10/01/2013 à 23h25. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    inviteb9f49292

    Re : Pb génération en matlab

    Une première remarque, utilisé "e" comme nom de variable n'est pas malin puisque "e" est censé contenir la base du logarithme néperien.

    Ton problème vient, à mon avis, que tu n'as pas compris comment fonctionne la représentation en nombres flottants, cet article expose bien la problématique.
    une illustration rapide, sous MATLAB essaie le bout de code qui suit:
    Code:
    146/133 - 1.46/1.33
    tu t'attendais à avoir 0? Il ya donc un bug dans MATLAB ?
    Voilà pourquoi il ne faut pas comparer deux flottants pour l'égalité, ou pourquoi il y a des systèmes de calculs symboliques / formels type maxima...

Discussions similaires

  1. [matlab] programmation : peut-on générer un arbre des fonctions d'un code Matlab ?
    Par inviteafe1cd13 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/07/2015, 11h12
  2. pilule de 3ème génération et 4ème génération : danger ?
    Par invite28b5aa79 dans le forum Contraception, gynécologie, grossesse et sexualité
    Réponses: 4
    Dernier message: 31/01/2013, 08h42
  3. [MATLAB]Génération de variables aléatoires
    Par Tony78 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 09/02/2010, 10h18
  4. Génération bornée (Bounded Generation)
    Par inviteececec2d dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 05/03/2009, 11h41
  5. génération de bruit sous matlab
    Par invite709f9b6b dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 11/06/2005, 23h56