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 :

Pb de function en 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
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut Pb de function en matlab
    Bonjour,

    J'ai besoin d'aide en Matlab, je ne comprends pas pourquoi mon programme ne fonctionne pas et ou est l'erreur

    Je veux réaliser la fonction y qui vaut 1 entre { 0 et L} et 0 sinon

    J'aimerais le faire avec une boucle for.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function y= aleatoire(n)
     
    for n=0:1:50
        if n>=0 & n>=50
            y=1;
        else
            y=0;
        end
    end
    Pourquoi cela ne fonctionne pas

    Configuration: Windows XP
    Firefox 2.0.0.20

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    1. Tu mets n en entrée de ta fonction mais tu l'utilises aussi comme indice de ta boucle

    2. if n>=0 & n>=50 est équivalent à n>=50, tu as du te tromper dans tes inégalités

    3. tu n'as pas indicer y donc y sera un scalaire

  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,

    Essaye ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function y= aleatoire(n)
    
    if n>=0 & n<=50
        y=1;
    else
        y=0;
    end
    Sinon tu peux faire ca plus rapidement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function y= aleatoire(n)
     
    y = ((n>=0)&(n<=50));

    Pourquoi veux-tu utiliser une boucle FOR, ce n'est pas du tout approprié ici (ou alors j'ai pas compris )

    Une petite remarque au passage:
    Citation Envoyé par azer355
    Pourquoi cela ne fonctionne pas
    ne nous aide pas vraiment à comprendre ton problème, il faudrait mettre le message d'erreur s'il y en a un, ou le comportement attendu...

    Bonne apm,
    Duf

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut
    ok merci

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

Discussions similaires

  1. Problème de S-Function sur MATLAB
    Par KAMAMA dans le forum Simulink
    Réponses: 7
    Dernier message: 25/06/2013, 09h59
  2. [Embedded Matlab Function] Problème d'utilisation
    Par berberat dans le forum Simulink
    Réponses: 1
    Dernier message: 21/09/2007, 15h27
  3. [Embedded MATLAB function] Comment ça fonctionne ?
    Par droledelolo dans le forum Simulink
    Réponses: 1
    Dernier message: 04/04/2007, 09h03
  4. [Embedded MATLAB Function] Type mxArray
    Par 250583 dans le forum Simulink
    Réponses: 2
    Dernier message: 28/03/2007, 15h31

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