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 :

erreur input matlab


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut erreur input matlab
    bonjour,
    j'ai écrit la fonction suivante ,pour determiner le prix d'une option:

    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
    function call=prix(t)
    r=0.02;
    T= 6;
    K=300;
    tick=1000;
    a=exp(-r.*(T-t));
    mu=1;
    b=mu-K;
    sigma=0.5;
    f=(mu-K)./sigma;
    c=normcdf(f,0,1);
    q=a.*tick.*(mu-K).*c;
    w=(sigma./sqrt(2./pi)).*exp(((mu-K)./sigma).^2);
    p=q./w
    end
    il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "??? Undefined function or method 'prix' for input arguments of type 'double'.
    je n'arrive pa a voir c'est quoi le pb

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Comment as-tu fait l'appel ?
    prix(...)

  3. #3
    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 : 41
    Localisation : France

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

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

    Il semblerait que MATLAB ne trouve pas ta fonction lorsque tu tentes de l'exécuter.

    Es-tu dans le répertoire de cette fonction quand tu l'exécutes? Si non, le répertoire dans lequel elle se trouve est-il dans le PATH de MATLAB?

    Pour ajouter un répertoire dans le PATH: Pour lister les répertoires du PATH: Bonne journée,
    Duf

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Je suis dans la meme répertoire,(j'ai exécuté dotre fonction du mèm répértoire et lis ont compilé)

    pour appeller la fonction je fais:
    call= prix(t), et je fixe le temp t

    la variable call est le prix de l'option est c'est égale à la variable p( du fin d'algorithme)

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    bonjour, essaye de passer la variable que tu souhaites en argument. Ici, ton p dans la corps de ta function et appelle ta fonction avec ton call. Je m'explique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    % Définition de ta fonction
     
    function [p]=prix(t)
     
    %%% code fonction
     
    %%%%%%%%%%%
     
    %Dans ton programme principal : 
     
    [call]=prix(t);

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    la même erreur apparait:
    [call]=prix(2);

    ??? Undefined function or method 'prix' for input arguments of type 'double'.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    enlève le "end" à la fin de ta fonction.
    J'ai testé ton code et il fonctionne chez moi...

    edit : le end ne devrait rien changer

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 40
    Par défaut
    Bonjour,

    le nom du fichier matlab dans lequel ta fonction est écrite est bien prix.m ?

  9. #9
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Par défaut
    Le message d'erreur signifie que Matlab ne trouve pas ta fonction prix(t) ,

    en supposant que ta fonction prix(t) est situé dans un fichier portant le même nom. le fichier est il dans le bon répertoire ?

    sinon, vérifie aussi les arguments que tu as passer à ta fonctions prix().

  10. #10
    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
    Par défaut
    Bonjour,

    Petite remarque, en sortie de ta fonction, tu déclares une variable call, mais tu ne lui attribue aucune valeur dans le code...
    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.

Discussions similaires

  1. Erreur script matlab
    Par mihaispr dans le forum MATLAB
    Réponses: 6
    Dernier message: 06/05/2010, 11h35
  2. erreur input dans onfocus
    Par ypoupou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/10/2009, 19h13
  3. Erreur sous matlab
    Par hanane78 dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/11/2007, 19h25
  4. erreur input output
    Par kanzarih dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 05/11/2006, 00h40
  5. [VB6] Autre erreur, "Input past end of file" (#62)
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/04/2006, 18h18

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