Matlab: remplir matrice vide [Résolu]

Signaler
Messages postés
18
Date d'inscription
jeudi 28 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2010
-
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
-
Salut;
Je suis en train de développer une application sous Matlab, je veux remplir une matrice qui est déjà vide à partir d'une partie d'une autre matrice.
J'ai esayé de faire le code suivant:

%initialisation
MM=[];
o=1;
p=1;

%parcours de la portion à copier
 for m=h:hi
         for n=s:sj
              
                   MM(o,p)=Im(m,n); %le pixel courant de la nouvelle matrice reçoit son équivalent de l'ancienne matrice
                   o=o+1;
                   p=p+1;
                disp(MM(o,p));

         end
     end


Le problème c'est que le programme m'affiche au début des valeur juste mais il m'affiche après l'erreur suivant:
??? Attempted to access MM(2,2); index out of bounds because numel(MM)=1.

Error in ==> sauvolabouble at 90
                disp(MM(o,p));

merci d'avance.
A voir également:

1 réponse

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut
Tu connais la taille de ta matrice MM, alors pourquoi ne pas lui spécifier directement ca lui évitera d'avoir à redimensionner la matrice à chaque itération.
MM=zeros(hi-h,sj-s)
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.