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

Octave Discussion :

[Débutant] Tracer les valeurs de la suite de Fibonacci


Sujet :

Octave

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 146
    Points
    146
    Par défaut [Débutant] Tracer les valeurs de la suite de Fibonacci
    bonjour,

    je fais mes premiers pas avec octave (clone libre de matlab)

    je voudrais tracer les valeurs de la fonction de Fibonacci avec stem qui trace des graphiques de fonctions dicrètes

    j'ai défini ma fonction fib dans un fichier fib.m

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function fib = fib(x)
    fib = [ 0, 1 ];
    for i = 3:x
      fib = [ fib, fib( i-2 ) + fib( i-1 ) ];
    endfor
    ensuite je donne mes valeurs de x avec

    ensuite je lance le tracé

    et là... c'est le drame

    j'avoue être un peu perdu

    j'ai consulté le peu de documentation en français que j'ai trouvé mais je n'ai pas trouvé la solution

    si quelqu'un de plus expérimenté connait la solution, je le remercie

  2. #2
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    est ce que ta fonction fib.m marche pour une valeur ?

    sinon, il faut construire ton tableau fibs:
    for i=1:length(x)
    fibs(i) = fib(x(i));
    end
    ensuite tu peux plotter :
    plot(x, fibs);
    (et pas fibs(x))

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 146
    Points
    146
    Par défaut
    oui la fonction fib fonctionne

    à quoi correspond le tableau fils ?

  4. #4
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    D'un cote du as une fonction 'fib' qui a partir d'une une valeur stockee dans 'x' calcule le nombre de Fibonacci correspondant.

    Ensuite on veut le nombre de Fibonacci pour differentes valeurs de x. On a donc 2 tableaux : un qui contient les valeurs de x (appelé x...), un autre qui contient les nombres de fibonacci correspondant (le tableau 'fibs').

    Matlab utilise la meme syntaxe pour les fonctions et les tableaux. Par exemple, 'fib(3)' va appeler la fonction 'fib', tandis que 'fibs(3)' va retourner la 3 eme valeur du tableau 'fibs'.

    Est ce que c'est plus clair ?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 146
    Points
    146
    Par défaut
    merci pour ces explications

    j'ai fait un fichier fibs.m

    mais cela ne fonctionne pas

    quelle est la séquence à exécuter pour que tout fonctionne bien ?

  6. #6
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    une focntion est stovkee dans un fichier du meme nom que la fonction,
    un tableau est une variable matlab, elle n'est pas stockee sous forme de fichier .m. Tu n'as donc pas besoin de creer un ficheir fibs.m pour utiliser un tableau nomme fibs.

    vire le fichier fibs.m,
    normalement la sequence que j'ai donnee plus haut devrait marcher.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 146
    Points
    146
    Par défaut
    cela ne fonctionne toujours pas

    apparemment il n'aime pas fibs(i) = fib(x(i));
    que fait x(i) ?

    sinon j'ai essayé en enlevant le x, je n'ai pas d'erreur mais le plot n'affiche rien

Discussions similaires

  1. [Débutant] Récupérer les valeurs et les clés d'une HashMap
    Par Mobistar dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 29/10/2014, 00h01
  2. [Débutant] Récupérer les valeurs saisies
    Par ouatouch_abdeljalil dans le forum JSF
    Réponses: 3
    Dernier message: 13/08/2008, 13h48
  3. [Débutant]Récuperer les valeurs de panel sous forme de matrice
    Par feather1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/02/2008, 18h09
  4. Réponses: 5
    Dernier message: 23/08/2006, 19h42
  5. [Excel] Ne pas tracer les valeurs nulles d'un graphe
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/02/2006, 19h00

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