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 :

Vectorisation et Structure conditionnelle


Sujet :

MATLAB

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Par défaut Vectorisation et Structure conditionnelle
    Bonjour,

    je travaille avec Matlab et Fortran. En gros, petit test sous Matlab pour voir si çà tourne bien puis Fortran pour passer la seconde dans les calculs, puis re-matlab pour visualiser les résultats.

    Sous Matlab je vectorise assez facilement mes boucles FOR END et ne fait que du code Fortran pour des combinaisons de FOR IF END END.

    ma question est surement très naïve mais, étant donné que graphiquement c'est quand même un peu plus pratique sous matlab, existe-t-il un moyen de vectoriser des boucles contenant de structures conditionnelles ?

    On m'a laissé entendre que si je bouclais sous matlab c'était la honte mais je ne vois pas comment passer outre un IF END avec des vecteurs et des matrices ?

    Merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Aurais-tu un exemple de code à vectoriser ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Par défaut
    Par exemple,

    Code Fortran : 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
     
    CD = 0
    DO N=1;NMAX 
         DO WHILE CD==0     
     
         CALL MYFUNCTION(VAL) 
     
         IF  (VAL>0.5) THEN
     
         VAL = 2.*VAL
         CD = 0
     
         ELSE
     
         VAL = VAL + 4.
         VECT(N) = VAL
         CD = 1
     
         END IF
     
         END DO
    END DO

    Pour l'exemple on peut considérer que "myfunction" est vectorisable

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Prenons le cas de la condition IF sous MATLAB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if VAL>.5
        VAL = 2*VAL
        CD = 0
    else
        VAL = VAL+4
        CD = 1
    end
    La version sans la condition serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CD = VAL<=.5
    VAL = 2*VAL*(~CD)+(VAL+4)*CD
    C'est l'idée... maintenant pour le gain de temps... tout dépend de ton cas réel.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Par défaut Vectorisation et structure conditionnelle
    Merci Dut,

    J'ai quelques cas un peu plus complexes où l'info doit évoluer en temps réel (fortran quand même donc...) mais ta proposition a le mérite de bien simplifier 90% de mon programme.

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

Discussions similaires

  1. IF ( Structure conditionnelle ) MYSQL
    Par Eric45 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 26/08/2013, 18h59
  2. [VBA-E]Structure conditionnelle sur plusieurs variables
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2007, 14h30
  3. structure conditionnelle dans la clause where
    Par liberty74 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/05/2007, 23h18
  4. [XSLT]la structure conditionnelle.
    Par Extra-Nitro dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 22/08/2006, 13h46
  5. [Language][Compilateur]Objets et structures conditionnelles
    Par goran kajfes dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2005, 22h55

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