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 :

probleme de fonction


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut probleme de fonction
    Bonjour tout le monde ,
    voila je poste mon premier message car j'ai un probleme sur matlab et ca fait 2 jours que je n'arrive pas a le resoudre voila pourquoi je me permet de solliciter votre aide ,
    en fait j'ai ecrit une fonction qui doit me ressortir un certain temps apres une boucle mais il ne me ressort pas . j'ai essaye de le debugger mais rien a faire je ne trouve pas :s .
    en annexe je vous met le fragmant de code qui me pose probleme et le message que matlab me met lorsque je debugge .
    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
    18
    19
    20
    21
    22
    function [Yimpact, timpact] = impact(y) 
    options = odeset('initialstep' , 10^-9); 
    [T,Y] = ode45(@odefunction,[0,0.6],y,options); 
    % Constantes 
    % inertie de la jambe autour du centre de gravité 
    mjambe=3.7; % kg 
    lCG=0.26; % m 
    mb=0.43; % masse de la jambe 
    r=0.11; % rayon de la balle 
    JCjambe = 0.05; 
    Jjambe = JCjambe + mjambe*lCG^2; 
    ljambe=0.51; 
    e=.7; 
    for i=1:length(T) % Boucle qui compare la distance entre le centre de la balle et la jambe pour chaque valeurs du vecteur temps
     % Position du centre du ballon à l'instant i : xb = Y(i,7) ) et yb = Y(i,8) 
    % Angle theta à l'instant i : theta = Y(i,5) 
    d = abs ((- cot(Y(i,5)))*Y(i,7) - Y(i,8)+ljambe) / sqrt((-cot(Y(i,5)))^2 + 1); %distance entre la jambe et le centre de la balle
     if d < r && Y(i,5) > 0 % si l'angle theta est positif et que la distance entre la jambe et le centre de la balle est plus petite que le rayon il y a impact
     timpact=T(i); 
    break; 
    end 
    end
    Apres debuggage
    ??? Input argument "y" is undefined. 
    Error in ==> impact at 8 
    [T,Y] = ode45(@odefunction,[0,0.6],y,options) 
    a bien vite j'espere et 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,

    Comment appelles-tu ta fonction impact?

    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    bonjour ,
    la fonction s'appelle aussi impact !

  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
    Bonjour,

    Apparemment, y n'est pas définie, donc l'appel de la fonction doit être mauvais.

    Ce que t'a demandé duf42, ce sont les lignes de code utilisées pour appeler ta fonction. En clair, comment fais-tu exactement pour exécuter ce 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.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    en fait la fonction impact prend en entrée un vecteur de conditions initialles ,
    donc dans la fenetre de commmande de matlab je tape : impact ( contion_ini ) .

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

    Si en effet tu tapes impact(contion_ini) en ligne de commande, cela ne devrait pas poser de problème...
    Je remarque que l'erreur se situe à la ligne 8 de ton fichier impact.m alors que le code se situe à la ligne 3 ... quelles sont les lignes manquantes? Juste des commentaires?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    les lignes manquantes sont des lignes de commentaires qui explique le role de la fonction

Discussions similaires

  1. probleme de fonction javascript
    Par cach dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/07/2005, 10h34
  2. Réponses: 17
    Dernier message: 24/03/2005, 12h24
  3. [langage] problème avec fonction read
    Par domidum54 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2004, 20h42
  4. [VB6]Problème de fonction
    Par mustang-ffw02 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/03/2004, 15h09
  5. Probleme de fonction
    Par yenna dans le forum ASP
    Réponses: 6
    Dernier message: 01/03/2004, 14h10

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