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 :

Réécrire dans une matrice sans l'effacer


Sujet :

MATLAB

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut Réécrire dans une matrice sans l'effacer
    Bonjour,

    J'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     for trial =1:10
    X([2*trial-1,2*trial],1:6)=matX(A,B,trial);
    end
    .

    La fonction matX me renvoie une matrice de taille 2*6 que je veux ranger dans la variable X en fonction de la variable trial.

    C'est-àdire que quand trial=1, je voudrais que la valeur que me renvoie la fonction aille dans les 2 premières lignes de X, quand trial=2, la valeur aille dans la 3eme et la 4eme ligne ...

    Ca j'y arrive mais le probleme est que lorsque trial égal 2 par exemple, les valeurs que j'ai calculé pour trial=1 (les 2 premières lignes) disparaissent. Ainsi je n'arrive pas à avoir une matrice X complète (seulement 2 lignes suivant la valeur trial).

    Comment puis je faire pour ne pas perdre ce que j'ai calculé avant ?


    A titre indicatif le code de ma fonction est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function X=matX(A,B,trial)
     
    sprintf('Calcul de X')
     
    for j=1:6
        X(2*trial-1:2*trial,j)=inv([A(:,1) A(:,j+1)]'*[A(:,1) A(:,j+1)])*[A(:,1) A(:,j+1)]'*B(:,j);
    end
    .

    A est de taille [150000*2].
    B est de taille [150000*1

  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 316
    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 316
    Par défaut
    La variable X dans le premier code et la variable X dans la fonction ne sont pas identiques. Elles sont indépendantes.

    La fonction matX devient donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function X=matX(A,B)
     
    sprintf('Calcul de X')
     
    for j=1:6
        X(1,j)=inv([A(:,1) A(:,j+1)]'*[A(:,1) A(:,j+1)])*[A(:,1) A(:,j+1)]'*B(:,j);
    end
    et le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for trial =1:10
       X([2*trial-1,2*trial],1:6)=matX(A,B);
    end
    Note : si A contient des nombres réels, utilise .' à la place de ' pour la transposé. Voir la à ce sujet ici

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    merci

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

Discussions similaires

  1. [XL-2003] Rechercher une valeur dans une matrice et la renvoyer sans doublons
    Par itzik92 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2012, 01h46
  2. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 13h45
  3. Déplacement dans une page sans recharge
    Par EpOnYmE187 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/08/2005, 17h17
  4. angles possibles dans une matrice
    Par bigbill dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 05/05/2005, 18h08
  5. Inserer des elements dans une map sans rangement ?
    Par Muetdhiver dans le forum C++
    Réponses: 3
    Dernier message: 07/09/2004, 12h09

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