Enregistrer des matrices dans une boucle

Fermé
adreda Messages postés 5 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 11 février 2014 - 16 mai 2013 à 15:01
adreda Messages postés 5 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 11 février 2014 - 16 mai 2013 à 17:16
Bonjour,
Je voudrai enregistrer dans Matlab des matrices dans une variable qui se répète à chaque fois dans la boucle.

for o=1:3
u=rand(1);
y(o)=u;
end
Ce code marche très bien.

Mais quoi faire dans le cas où on veut rand(3) par exemple à la place de rand(1). Et quand on fait appel à y(2) ça donne une matrice de 3 dimensions ?
Merci d'avance,
A voir également:

1 réponse

artmagniac Messages postés 24 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 8 juillet 2014 1
16 mai 2013 à 16:46
for o=1:3
u=rand(3);
y(:,:,o)=u;
end

vous pouvez essayer ça et lorsque vous voulez récupérer la 2eme matrice de votre variable y vous tapez y(:,:,2)

ans =

0.5678 0.5308 0.1299
0.0759 0.7792 0.5688
0.0540 0.9340 0.4694
1
adreda Messages postés 5 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 11 février 2014
16 mai 2013 à 16:59
Okay, ça marche bien dans ce cas. Mais le rand(3) n'était qu'un cas particulier. En fait, moi je travaille avec une matrice de dimensions très grande par exemple 256 lignes et 256 colonnes.
Vous n'avez pas une forme générale pour ce problème ?
0
artmagniac Messages postés 24 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 8 juillet 2014 1
Modifié par artmagniac le 16/05/2013 à 17:04
pour une matrice n lignes p colonnes, vous remplacez rand(3) par rand(n,p) et cela fonctionne très bien (pensez toujours à faire un "clear all" avant d'essayer sinon effectivement Matlab veut rentrer une matrice n,p dans une matrice 3,3 définie préalablement par rand(3))
0
adreda Messages postés 5 Date d'inscription jeudi 16 mai 2013 Statut Membre Dernière intervention 11 février 2014
16 mai 2013 à 17:16
Je vous remercie. J'étais bloqué longtemps sans savoir réussir à ce truc. Merci.
0