Tranquillo, vedrai che ci prenderai subito la mano. Una volta che hai capito come matlab ragiona, è tutto molto semplice.
Nell'istruzione
Im(1, :)=0.5;
stai dicendo a matlab che deve prendere in considerazione la prima riga e tutte le colonne (i due punti indicano "tutto"). Quindi in questo caso tutta la prima riga diventerà grigia.
Nel primo argomento si riferisce quindi al numero di righe. Volendo per non confonderti puoi anche scrivere così
Im(1:passo:end, :)=0.5;
Matlab capisce così che deve arrivare fino all'ultima riga dell'immagine.
In questo caso è importante definire solo il punto di partenza perchè quello di arriva se lo calcola di conseguenza. Ad esempio se hai una matrice 10x10 e vuoi disegnare le righe ogni 3, a partire dalla seconda, scrivi:
Im(2:3:10, :)=0.5;
(o anche
Im(2:3:end, :)=0.5;
o anche
Im(2:3:size(Im,1),:);
)
per lui 2:3:10 è semplicemente un vettore, equivale a questo [2 5 8]. Quindi l'ultimo valore non c'è bisogno di fissarlo perchè se lo calcola da solo.
Il primo valore invece te lo devi calcolare esattamente a partire dal centro.