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 :

[cftool] erreur fitting tool


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 17
    Points
    17
    Par défaut [cftool] erreur fitting tool
    Bonjour!
    J'ai tenté d'utiliser l'outil cftool de MATLAB pour modéliser la courbe suivante :

    Uploaded with ImageShack.us
    Il s'agit probablement d'une distribution de Lévy, de formule y(t)=sqrt(c/(2*pi))*exp(-c/(2*t))/t^(3/2) avec c>0
    j'ai pris comme starting point c=0.5
    J'ai tout d'abord exclu les points au dessus de 60 générations, pour éviter que cftool me sorte une fonction constante.
    Étant donné que ma courbe n'est pas à la même échelle que la fonction, j'ai coché "center and scale X data", et j'obtiens le message d'erreur :

    Fit could not be computed due to error:
    NaN computed by model function, fitting cannot continue.
    Try using or tightening upper and lower bounds on coefficients.
    Message qui n'apparaît pas quand "center and scale X data" est décoché, mais alors il me sort une fonction quasi constante.
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    il se peut que le calcul de y renvoie NaN par exemple pour t=0.

    Sans cocher "center and scale X", as-tu essayé de modifier la valeur du point de départ pour c?

    Peux-tu nous fournir un fichier de données de y et t nous permettant de faire des tests?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Merci de votre réponse.
    Je viens d'essayé de modifier les valeurs du paramètre, et le résultat est le même. On ne peut pas joindre les fichier cfit sur le forum, le fichier de la modélisation est à l'adresse :
    http://www.mediafire.com/file/jismoh...ng%20levy.cfit
    J'ai relancé le script qui m'a permis d'obtenir la courbe, avec des paramètres permettant d'avoir un nombre plus important de points, c'est plus facile pour modéliser la courbe.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Es-tu sûr de ta fonction? avec les données expérimentales que tu fournis ymax vaut a peu près 900 pour t=55. La fonction sqrt(c/(2*pi))*exp(-c/(2*t))/t^(3/2) est très loin de pouvoir atteindre ces valeurs (pour t'en persuader, trace y(c)=sqrt(c/(2*pi))*exp(-c/(2*55))/55^(3/2)). Donc c'est normal que l'ajustement soit très mauvais...
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Je ne suis pas sûr de l'équation, la forme de la courbe est similaire à celle d'une loi de Lévy de paramètre 0.5, de là j'essayais de voir si ça correspondait. En ordonnée ont a le nombre N de simulations effectuées qui se sont arrêtées pour une valeur de T donnée, on peut à la place tracer la fréquence relative de ces simulations f=N/Ntotal. On obtient alors une courbe avec en ordonnées des fréquences qui s'étalent de 0 à 0.09.
    Mais là c'est la fréquence relative qui est environ 10 fois inférieure aux valeurs qu'on peut atteindre par la loi de Lévy.

Discussions similaires

  1. Erreur Update Tool de GlassFish 3
    Par java developper dans le forum Glassfish et Payara
    Réponses: 3
    Dernier message: 14/02/2013, 10h54
  2. [Débutant] [sftool] Imposer une contrainte dans un Surface Fitting Tool
    Par Jragk dans le forum MATLAB
    Réponses: 1
    Dernier message: 31/10/2011, 16h31
  3. Réponses: 4
    Dernier message: 23/02/2009, 19h21
  4. Réponses: 2
    Dernier message: 06/03/2007, 17h31
  5. [MONO] Erreur de compilation de mono-tools
    Par alexvdb dans le forum Mono
    Réponses: 1
    Dernier message: 31/10/2006, 09h47

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