Per inserire degli "0" o "NaN" in tutte le colonne di un a riga di una matrice puoi utilizzare le funzionalità di indicizzazione di MatLab e le funzioni "zeros" o "nan" che generano vettori o matrici di "0" o "NaN".
% Creazione di una matrice di esempio
m=randi(10,7,5)
% Identificazione del numero di righe e colonne della matrice
[r,c]=size(m);
% Definizione della varaibile che contiene il numero della riga della
% matrice che si vuole sostituire con 0 o NaN
sel_row=3;
% Passo 1: creazione di una nuova matrice con 0 o NaN nella riga "sel_row"
m1=m;
m2=m;
m1(sel_row,:)=zeros(1,c)
m2(sel_row,:)=nan(1,c)
Per quanto riguarda il Passo 2, non è molto chiaro cosa vuoi fare, ma sono abbastanza sicuro che possa essere fatto senza l'utilizzo di "ciclo for".
In particolare, se il problema nel Passo 2 è identificare le righe con tutti "0" o "NaN", sembrerebbe che il Passo 1 non sia necessario.
Anche volendo utilizzare un "ciclo for", dal momento che, a quanto sembra, conosci in anticipo quali siano le righe da "saltare", basterebbe inserire nel "ciclo for", ad esempio, un semplice "if" che identifichi le righe da saltare (o sa non saltare).
Se pubblichi qualche informazione aggiuntiva sulla funzione che utilizzi per il calcolo nel Passo 2, credo si possa "fare qualcosa".
Hope this helps.