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 :

Suppression vecteurs nuls [Débutant]


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 50
    Points : 27
    Points
    27
    Par défaut Suppression vecteurs nuls
    Bonjour,

    Voici un code qui permet de remplir une matrice de vecteurs avec deux vecteurs lignes qui sont les coordonnées des points.

    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
    23
     
    N = 5;
    V = zeros(N*(N-1),2);
    k = 0;
     
    for j = 1:N
        for i = 1:N
     
            if i == j
     
                continue
     
            else
     
                X = x(i)-x(j);
                Y = y(i)-y(j);
                V(k*N+i-1,1) = X;
                V(k*N+i-1,2) = Y;
     
            end
        end
        k = k + 1;
    end
    Mais il fonctionne mal, je ne veux pas de vecteurs nuls et la condition devrait l'empêcher mais ça ne marche pas.

    Si quelqu'un pouvait m'aider... merci d'avance

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    si les x ou les y d'indices différents sont égaux, tu aura quand même des 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    V = zeros(N*(N-1),2); ...
    continue;
    Si tu ne remplis pas certains indices de V, les valeurs resteront nulles puisque initialisées à 0. V = nan(N*(N-1),2) semble plus judicieux pour déceler cela

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 50
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup, j'interprétais mal les zéros.

    J'ai réussi en supprimant les vecteurs nuls après la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    V(~any(V'),:) = [];

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

Discussions similaires

  1. Réorganiser les éléments d'un vecteur (élem. négatifs,nuls,positif)
    Par master_turc dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 26/11/2007, 10h50
  2. Réponses: 23
    Dernier message: 26/09/2007, 00h10
  3. [STL] erreur compilation, suppression dans vecteur
    Par ZaaN dans le forum SL & STL
    Réponses: 1
    Dernier message: 03/07/2007, 16h32
  4. Réponses: 8
    Dernier message: 07/04/2006, 08h03
  5. Réponses: 5
    Dernier message: 01/03/2006, 23h07

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