Matlab: remplir matrice vide

Résolu
noussaa19 Messages postés 18 Date d'inscription jeudi 28 décembre 2000 Statut Membre Dernière intervention 12 avril 2010 - 9 avril 2010 à 01:09
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 9 avril 2010 à 08:55
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.

1 réponse

Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 avril 2010 à 08:55
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.
3
Rejoignez-nous