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 :

[lsqcurvefit] Syntaxe


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut [lsqcurvefit] Syntaxe
    salut tous,

    comme j'ai des galères avec la fonction "lsqnonlin" alors j'ai décider de me rabattre sur "lsqcurvefit", par contre je n'arrive pas à comprendre la syntaxe qu'il faut utiliser. Dans mon cas j'ai quelque chose dans ce genre:
    parametresInitiaux=[1 2 3];
    xdata=[1 2 3 4 5];
    ydata=[1 2 3 4 5];
    et la fonction calcul qui me donne en sortie un vecteur du type [0.1 0.2 0.3 0.4 0.5];


    j'ai regardé la doc et j'ai testé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [x,resnorm] = lsqcurvefit(calculs,parametresInitiaux,xdata,ydata)
    la reponse de matlab est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ??? Input argument "parametresInitiaux" is undefined.
    ceci est dû à ce qu'il y a dans ma fonction "calculs":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function RESIDU=calculs(parametresInitiaux)
    WriteCalculTreatment(parametresInitiaux(1),parametresInitiaux(2),parametresInitiaux(3));
    mais je ne vois pas le probleme...


    ensuite j'ai regardé des messages sur le forum et j'ai testé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [x,resnorm] = lsqcurvefit(@(parametresInitiaux,xdata),@calculs,parametresInitiaux,xdata,ydata)
    et ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [x,resnorm] = lsqcurvefit(@calculs,parametresInitiaux,xdata,ydata)
    et j'ai comme "reponse":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error using ==> calculs
    Too many input arguments.
    pourtant le nombre d'arguments me parait correct

    pouvez vous me dire quelle est la syntaxe que je dois respecter dans mon cas car je ne comprends plus rien

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Citation Envoyé par 21did21 Voir le message
    j'ai regardé la doc
    Je dirais pas assez, la fonction dont le handle est passé comme premier argument possède 2 entrées, d'où ton erreur
    ??? Error using ==> calculs
    Too many input arguments.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci win jerome, j'ai trouvé !

    en fait il faut mettre un "@" devant la fonction et il faut mettre en argument "xdata"


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

Discussions similaires

  1. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 13h53
  2. Syntaxe requete
    Par Chipolata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2003, 15h22
  3. [Syntaxe] Action simultanée sur plusieurs élements
    Par FranT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 21h20
  4. Syntaxe TASM <-> MASM
    Par LFC dans le forum Assembleur
    Réponses: 3
    Dernier message: 28/02/2003, 16h56
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 16h33

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