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 trois à trois des élements d'une matrice [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut Somme trois à trois des élements d'une matrice
    Bonjour,

    je cherche à sommer 3 à 3 les lignes d'une matrice.
    Ma matrice de départ fait 360lignes x 1300colonnes

    je souhaite quelle fasse finalement 120lignes, avec les mêmes colonnes

    et que dans la nouvelle matrice, les élements de la ligne 1, soit la somme des elements des lignes 1, 2 et 3 de la matrice précedente.

    les éléments de la seconde colonne soit la somme des elements des lignes 4, 5 6 de la matrice precedente, ainsi de suite.


    Merci par avance de vos propositions

  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
    Montre nous ce que tu as déjà essayé de coder (même si c'est faux)

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    A=imread('E:\Mes Documents\...\image.tif')
     
     
    for i=1:120
        k=3*i
        M(i,:)=sum(A(k:k+2,:),2)
    end


    Cela ne fonctionne pas, je retrouve une matrice M (119 x 3)

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Par défaut
    Tu fais partir ta somme directement de A(3), il te manque les 3 premiers éléments de ta matrice du coup.

    Essaye avec 3*k-2 :3k avec k= 1 jusqu'à 120 et en mettant k en indice de M.

  5. #5
    Membre éclairé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Par défaut
    Bonjour,

    si tu veux additionner les colonnes de ta matrice tu dois spécifier la dimension à 1 et non 2 dans la fonction sum. De plus ta variable k ne prend pas les bonnes valeurs au cours de ta boucle, là tu auras 3-6-9... donc ça ne commence pas à 1 (c'est pourquointu as 119 lignes et non 120).

    Voilà ce que tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    M = zeros(120,1300);
    k=1;
     
    for i=1:120
        M(i,: )=sum(A(k:k+2,: ),1);
        k = k+3;
    end
    Ainsi tu auras bien une matrice 120x1300.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut Ca Marche !!!
    Merci à tous

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

Discussions similaires

  1. somme des élements d'une map et d'un vecteur.
    Par jamsgoodon dans le forum Langage
    Réponses: 7
    Dernier message: 03/02/2011, 13h53
  2. Somme des éléments d'une matrice
    Par acacia dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 12/11/2009, 12h27
  3. somme des éléments d'une matrice
    Par virginie999 dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/06/2008, 21h14
  4. Somme récursive des éléments d'une matrice
    Par lo_pascal dans le forum Pascal
    Réponses: 4
    Dernier message: 18/01/2008, 11h08
  5. Somme des colonne d'une matrice
    Par nessing dans le forum C++Builder
    Réponses: 3
    Dernier message: 09/08/2007, 13h41

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