[MATLAB] Recuperation valeur matrice
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

[MATLAB] Recuperation valeur matrice



  1. #1
    zenip

    [MATLAB] Recuperation valeur matrice


    ------

    Bonjour à tous,

    Je suis actuellement en train de faire un calcul t 2D d'un maillage simplifié en appliquant une méthode de discrétisation. J'ai donc besoin de plusieurs boucle For pour appliquer mes formules.

    Mon problème est le suivant : je stocke des variables dans une matrice 10x51 et je la répète pendant 50 itérations. Comment je peux récupéré des valeurs dans la 2e colonne de mes matrices pour chaque itération ?

    Pour le moment j'arrive à récupérer ma colonne 2 de ma première matrice à la première itération mais pas pour la deuxième 3e etc...

    Merci d'avance.

    -----

  2. #2
    Antoane
    Responsable technique

    Re : [MATLAB] Recuperation valeur matrice

    Bonjour,

    je ne comprends pas.

    Tu as une matrice de taille 10*51 dont la valeur change à chaque itération et tu veux pouvoir disposer des valeurs que prend successivement la 2e colonne, itération après itération, pour t'en servir une fois sorti de la boucle ?
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    zenip

    Re : [MATLAB] Recuperation valeur matrice

    Exactement à la fin de ma boucle j'aimerai récupérer la valeur de la deuxième colonne pour les itérations que j'ai faite auparavant. C'est possible ?

  4. #4
    Antoane
    Responsable technique

    Re : [MATLAB] Recuperation valeur matrice

    Tu peux utiliser une autre matrice (appelons la A), que tu rempliras colonne par colonne avec le contenu de la 2e colonne qui t'intéresses (appelons la B).
    avec un code du genre :
    for k=1:50
    B = calculerB() ;
    A(:,k) = B(:,2) ;
    end
    Ainsi, la kème colonne de A contiendra le contenu de la 2e colonne de B à la kème itération.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  5. A voir en vidéo sur Futura
  6. #5
    zenip

    Re : [MATLAB] Recuperation valeur matrice

    Salut cela ne marche pas.

    Avec ton code j'obtiens la 2e colonne de B multiplié par le nombre d'itérations k. Je me suis surement mal exprimé pour mon problème.

    A chaque itération j'ai la 2e colonne de la matrice B qui change et qui prends des valeurs différentes.

    J'aimerai récupérer ces valeurs dans une autre matrice à chaque itération pour avoir une matrice complète à la fin avec toutes les valeurs de la 2e colonne de B.

    Si c'est pas clair je peux posté un bout de mon code pour que ce soit plus explicite..
    Images attachées Images attachées

  7. #6
    Antoane
    Responsable technique

    Re : [MATLAB] Recuperation valeur matrice

    Bonjour,
    Citation Envoyé par zenip Voir le message
    Avec ton code j'obtiens la 2e colonne de B multiplié par le nombre d'itérations k.
    Faut voir ce que tu entends par "multiplié par k", mais cela ne signifie pas [2e colonne de B]*k.

    J'aimerai récupérer ces valeurs dans une autre matrice à chaque itération pour avoir une matrice complète à la fin avec toutes les valeurs de la 2e colonne de B.
    C'est bien ce que propose de faire le pesudo-code donné ci-dessus.
    Un exemple complet mais simplifié (matrices de tailles réduites) compilable et testable directement dans Matlab (ou "calculerB" consiste à mettre les éléments de B au carré) :
    Code:
    B = 1:6 ; % initialise B
    A = NaN + ones(1, 10) ; % initialise B
    
    for k=1:10
        B = 2*B  % Calculate B
        disp(['iteration ', num2str(k), ', 2e colonne de B : ', num2str(B(:,2))])
        A(:,k) = B(:,2)
    end

    A chaque itération j'ai la 2e colonne de la matrice B qui change et qui prends des valeurs différentes.
    La variable "val" dans tes PJ correspond à ce que j'ai appelé B ?
    Dans ce cas, n'est-ce pas A(:,k) = val(:,2,k) qu'il faudrait faire ?
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  8. #7
    zenip

    Re : [MATLAB] Recuperation valeur matrice

    Ok c'est tout bon, ton premier code marchait mais j'avais fais une erreur bête.. J'avais garder le "k" pour les itérations alors que dans tout mon code c'est "n". Maintenant ca marche à la perfection !

    Je te remercie beaucoup !

Discussions similaires

  1. Réponses: 29
    Dernier message: 15/05/2017, 08h35
  2. Réponses: 10
    Dernier message: 23/02/2015, 17h57
  3. Matlab: Comment exécuter matrice par matrice dans différents fichiers donnés?
    Par ellymimi dans le forum Programmation et langages, Algorithmique
    Réponses: 19
    Dernier message: 21/05/2014, 15h05
  4. Réponses: 1
    Dernier message: 21/03/2012, 15h45
  5. DEBUTANT matlab lecture de fichier texte remplacement de valeur et matrice
    Par invite9524cf76 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/04/2008, 15h25