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 :

Somme des éléments d'une table


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Somme des éléments d'une table
    Bonjour, le sujet me parait extrêmement simple et j'ai essayé énormément de méthodes qui n'ont pas aboutit. Je m'explique : j'ai en output d'une fonction un tableau de cellule que j'ai ensuite converti en table pour le côté pratique. Ma table possède 2 colonnes avec énormément de cellules vides ([]) et quelques 1 sur les lignes. Seule une ligne possède 1 sur les deux colonnes et j'aimerais donc sommer les deux colonnes pour faire un find(x==2) qui me permettra de récupérer l'indice de la ligne en question. J'ai essayé de convertir en matrice car l'opération '+' ne passe pas sur les tables mais MATLAB me "vire" les lignes vides ce qui me renvoie le mauvais indice, j'ai aussi essayé rowfun mais il me dit que ça ne marche pas pour les arguments de type table (alors que c'est censé être le principe...). J'ai aussi essayé de remplacer les valeurs manquantes par des 0 avec fillmissing sans succès, de même pour arrayfun... Je commence à désespérer pour un truc si simple (var(3)= var(1)+var(2) ).

    Ma table se présente comme ceci :
    x =

    Var 1 Var 2
    1 []
    [] []
    1 1
    [] 1

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé une méthode simple mais que je ne trouve pas très adéquate, qui consiste à parcourir mes deux vecteurs et dire si la ligne 1 == ligne 2 alors on prend l'indice. J'aimerais au maximum éviter les boucles car mon code est déjà long et je travaille sur de grosses bases ...

  3. #3
    Membre émérite
    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
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,

    Un essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    T=[{[],'1';[],'1';'1','1';[],[]}]
    R=double(strcmp(T,'1'))
    [I,J,V]=find(sum(R,2)==2)
    disp(['Deux 1 à la ligne ' num2str(I)])

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2019
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci, je suis finalement passé par une autre méthode mais ton code marche très bien ! Je retiens pour la prochaine fois

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

Discussions similaires

  1. [MySQL] Somme des éléments d'une table
    Par menoulette dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 10/09/2009, 17h53
  2. Ranger des éléments d'une table
    Par SOPSOU dans le forum Bases de données
    Réponses: 0
    Dernier message: 08/10/2007, 15h54
  3. Afficher la somme des lignes d'une table
    Par DJERDJAR YACINE dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/07/2007, 19h18
  4. [Formulaire]somme des champs d'une table
    Par fa310428 dans le forum IHM
    Réponses: 3
    Dernier message: 03/04/2007, 19h33
  5. faire la somme des montants d'une table
    Par nestam dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/02/2007, 00h15

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