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

MATLAB Discussion :

Problème loglog et function [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Problème loglog et function
    Bonjour,

    J'ai un problème avec une fonction qui doit tracer un résultat. Malgré le loglog, le tracé se fait avec des axes linéaires.
    Le même tracé effectué hors de la fonction donne par contre les bon axes en log.

    Des idées pour solutionner mon problème ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Pourrais-tu nous montrer la fonction qui pose problème?

    Duf

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    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
    function [nba]=pdf_cdf(x,s,a)
    mx = min(x); Mx = max(x);
    if a > 0
        n = linspace(mx,Mx,a); nba = zeros(a-1,2);
      for i = 1 : a-1
          f = find(x >= n(i)); nba(i,1) = n(i); nba(i,2) = length(f);
      end
        nba(:,2) = nba(:,2)./length(x);
    else
        a = -a; n = logspace(log10(mx),log10(Mx),a); nba = zeros(a-1,2);
      for i = 1 : a-1
          f = find(x >= n(i)); nba(i,1) = n(i); nba(i,2) = length(f);
      end
        nba(:,2) = nba(:,2)./length(x);
    end
    figure(1); hold on;
    loglog((nba(:,1)),(nba(:,2)),s)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    "Problème" mentionné dans la documentation:
    If you attempt to add a loglog, semilogx, or semilogy plot to a linear axis mode graph with hold on, the axis mode will remain as it is and the new data will plot as linear.
    Remarque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    f = find(x >= n(i));
    nba(i,2) = length(f);
    Peut être remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nba(i,2) = sum(x >= n(i));

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Merci bien. En fait il suffit de mettre le hold on après le tracé.
    Merci aussi pour la petite ligne de gagnée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/08/2009, 14h27
  2. Réponses: 19
    Dernier message: 16/09/2008, 11h44
  3. Problème avec une FUNCTION
    Par PoichOU dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 13/09/2007, 10h24
  4. Problème de S-function
    Par Damien B. dans le forum Simulink
    Réponses: 1
    Dernier message: 29/03/2007, 15h48
  5. [boost] Problème avec boost::function
    Par Bakura dans le forum Boost
    Réponses: 3
    Dernier message: 22/03/2007, 20h08

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