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 :

Différence deux à deux entre les valeurs d'une ligne d'une matrice [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Différence deux à deux entre les valeurs d'une ligne d'une matrice
    Bonjour à tous,

    Je suis absolument nouvelle sur ce forum et je m'inscris en désespoir de cause
    Je suis en thèse et je traite des données d'océanographie sur Matlab

    voici mon probleme:

    J'ai une matrice G constituée de 4 colonnes et de 33530 lignes (dont je vous presente les 10 premieres lignes):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >> G(1:10,1:4)           
    ans =
      173.7409  349.5797  197.9946  173.7409
       52.5121   42.3730   24.2348   52.5121
       48.4723   55.0321   28.2742   48.4723
       48.4723   39.8730   24.2348   48.4723
       98.9754  157.5524   98.9754  149.4899
      159.5942   98.7325   98.9754   98.7325
       48.4723   48.9723   28.2742   48.4723
       48.4723   51.4723   28.2742   48.4723
       98.9754  118.9754   58.5720   98.9754
       98.9754   93.8739   48.4723   98.9754

    Je souhaiterais faire DEUX choses:
    enfin, c'est selon votre aide!

    1/ creer une nouvelle matrice (H par exemple) avec les differences DEUX A DEUX entre TOUTES les valeurs de la ligne 1 (cad toutes les combinaisons de differences possible pour la ligne 1, la ligne 2, etc), (cad 173-349, puis 173-197, 173-173, puis 349-197, 349-173 et enfin 173-197), idem pour la ligne 2,...
    ce serait donc une matrice avec 33530 lignes encore, mais avec cette fois 6 COLONNES
    ps: la fonction diff sur laquelle je comptais, ne semble pas renvoyer ce resultat!


    2/ je souhaiterais également obtenir un vecteur dans lequelle il y aurait la valeur MAX de toutes les combinaisons de differences obtenues en 1/
    cad pour chaque ligne de la matrice G, il y aurait UNE valeur: la difference la plus importante entre les 4 valeurs initiales

    Voila, je vous remercie sincerement de l'aide que vous pourrez m'apporter
    Bonne semaine à tous

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    Tu peux faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    H = NaN(length(G),6);
    c=1;
     
    for i = 1:3           % de façon plus général, i = 1:(size(G,2)-1)
         for j = i+1:4   % idem, j = (i+1):size(G,2)
     
             H(:,c) = G(:,i) - G(:,j);
             c=c+1;
     
         end
    end
    Pour la seconde question, je suppose que c'est la valeur absolue de la différence qui t'intéresse; tu peux faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mesMax = max(abs(H),[],2)
    PS: n'hésites pas à poser des questions si tu ne comprends pas une partie du code. La formulation " G(:,c)" sert à prendre toute les lignes de la colonne c de G.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    EURÉÉÉÉKAAAA, je viens de tester
    Merci mille fois Gooby !!! c'est exactement ce que je me tue a chercher depuis 1 semaine!
    encore merci de ta reponse et ta rapidité
    bonne journée

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    ps: oui je comprends le code, c'est simplement que je n'arrivais plus a refechir auyrement sur ce probleme!
    merci beaucoup

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/03/2015, 09h40
  2. Réponses: 3
    Dernier message: 18/01/2015, 18h30
  3. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Réponses: 3
    Dernier message: 13/01/2009, 16h55

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