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 :

vérification d'une condition dans chaque ligne sinon suppression d'une ligne


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Inscrit en
    Mars 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2011
    Messages : 76
    Par défaut vérification d'une condition dans chaque ligne sinon suppression d'une ligne
    Bonjour
    SVP, j'ai un petit problème
    j'ai deux matrices colonnes données d'avance: E=[23;45;35;33] et a=[13;23;25;19]
    et une matrice M permutation entre 1 et 4 généré par perms(1:4)
    exemple quelques lignes de M
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    M=  1 2 3 4
          2 4 3 1
          3 4 2 1
          1 3 4 2
    alors on veut vérifier une relation entre tous deux éléménts consécutifs de chaque ligne. si cette condition est vérifiée cava, sinon on supprime toute la ligne. cette condition est: E(M(i,j))<= a(M(i,j+1))
    alors j'ai fait le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i=1:length(M)
        for j=1:n-1
            if  E(M(i,j))<=a(M(i,j+1))
                M(i,:)=[]
            end
        end
    end
    avec n=4
    il me donne pas une solution et il m'affiche le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ??? Index exceeds matrix dimensions.
    SVP, comment je dois corriger ce code et 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
    Si tu supprimes des lignes de la matrice M à l'intérieur de la boucle sur i, il faut parcourir les lignes dans l'ordre décroissant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = size(M,1):-1:1
     
    end

Discussions similaires

  1. [CR XI] Ajout d'une colonne dans un report en fonction d'une condition
    Par juju05 dans le forum Formules
    Réponses: 1
    Dernier message: 15/04/2013, 12h50
  2. Réponses: 0
    Dernier message: 07/03/2013, 06h40
  3. Réponses: 4
    Dernier message: 13/09/2010, 15h45
  4. Réponses: 3
    Dernier message: 15/06/2007, 22h50
  5. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13

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