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 :

Simplification calcul indexage, vecteur


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Simplification calcul indexage, vecteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i=[1:length(Disp_v1)];
            if Disp_v1(i) == 0;
                RMS_v1(i) = 0 ;
            end;
    end;
    Ce code comme vous l'avez vu ne fait que dire que si la valeur de Disp est nulle alors celle du RMS également.

    Sur qu'on fait la même chose en 1 ligne ! si vous avez une idée, ceci me ferait gagner 4 lignes !

    Merci

  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.
    Un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    clear
    disp=[1 0 1 1 0 0 1 0 2 3]
    rsm=ones(1,10)
    rsm(find(disp==0))=0

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 123
    Par défaut
    Ou sans le find :

    PS : le gain ne sera pas seulement en nombre de lignes mais également en temps d'exécution !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Par défaut
    Citation Envoyé par Loïc B. Voir le message
    Ou sans le find :

    voir la sur ce type d'indexage : http://matlab.developpez.com/faq/?pa...dexage_logique

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    effectivement très simple.

    Merci

  6. #6
    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
    Citation Envoyé par Loïc B. Voir le message
    Ou sans le find :

    Ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RSM_v1 = Disp_v1.*(Disp_v1~=0);

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

Discussions similaires

  1. Calculer le vecteur normal a un plan formé par trois points.
    Par parp1 dans le forum Mathématiques
    Réponses: 12
    Dernier message: 11/03/2013, 17h57
  2. Reperage, indexage et calcul sur vecteurs
    Par Newenda dans le forum MATLAB
    Réponses: 7
    Dernier message: 06/05/2009, 11h57
  3. Réponses: 5
    Dernier message: 23/08/2007, 13h44
  4. simplification calcul puissance et modulo
    Par Gotman-B dans le forum Delphi
    Réponses: 5
    Dernier message: 23/05/2007, 18h23
  5. [Calcul Matriciel] Vecteur propre de I
    Par riadh_ado dans le forum Mathématiques
    Réponses: 2
    Dernier message: 18/05/2007, 21h32

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