[Matlab] Concaténation de N matrice

Résolu/Fermé
dansdu - 9 mars 2011 à 13:41
 dansdu - 9 mars 2011 à 15:07
Bonjour,


Je suis entrain de mettre au point une routine matlab afin d'obtenir des propriétés d'un matériau composite mais j'ai un petit problème.

J'ai une matrice1 3x3 et une autre matrice2 3x3, l'inverse de la première
Je forme une autre matrice M avec 3 Dimension à l'aide de cat.

M=cat(3,matrice1,matrice2,matrice2,matrice1,...).

Jusque là tout va bien. Le problème c'est que j'ai à peu près la même séquence, matrice1, matrice2, matrice2, matrice1, une cinquantaine de fois.

Savez-vous si il est possible d'implémenter cette séquence pour former la matrice M automatiquement, sans rentrer cinquante fois la même séquence.

Un petit coup de main, s'il vous plait.

Merci


2 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 mars 2011 à 14:01
Salut.
Moi pour concaténer, j'utilise [] :
m3=[M1 M2;M2 M1];

du coup, c'est plus facile.
Sinon, il faut réfléchir à faire un boucle du genre :
for i=1:50
    M3=[M3 M1 M2];
end
0
C'est ce que je fais normalement, quand tu n'as pas beaucoup de matrice.
Là j'ai 50 fois la même séquence.

Si je vois que je n'y arriverais pas je le ferais manuellement, merci le Ctrl+V
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 mars 2011 à 14:58
comme je te dit, fait une boucle en incluant à chaque fois M3.
Sinon, il y a la commande eval, tu fais une boucle pour tout écrire dans une variable texte et ensuite un coup de eval dessus.
0
C'est bon j'ai réussi

QXY= [ ];
p=50
for n=1:p
QXY=cat(3,QXY,QXYpositif,QXYnegatif,QXYnegatif,QXYpositif);
end


Merci quand même
0