Ci sono alcuni errori nel codice che hai pubblicato:
In:
foldername = fullfile(pwd, sprintf('prova%02', k));
la stringa che definisce il formato è errata, manca l'identificatore del "tipo" (una "d" per specificare "integer")
foldername = fullfile(pwd, sprintf('prova%02d', k));
La condizione nel blocco "if" è errata:
if exist(foldername, 'dir')
mkdir("prova"+k);
end
impostata così crea la directory se la directory già esiste, devi invertirla aggiungendo "~":
if(~exist(foldername, 'dir')
mkdir("prova"+k);
end
nel blocco "if" dovresti anche gestire (nella parte "else" che, al momento manca, il caso nel quale le directory esista già.
Per quanto riguarda la parte relativa al plotting ed al salvataggio, non sembrano esserci problemi, dovresti essere più chiaro nella spiegazione degli errori che incontri e, soprattutto, provare ad eseguire il codice in modalità debug.
Da ultimo, non è chiaro cosa intendi con
Sarebbe l'ideale non dover usare for in quanto il tutto va poi inserito in un codice abbastanza pesante.
L'uso o meno di un loop dipende dai grafici che vuoi salvare e come / quando questi vengono creati dal tuo codice.
In mancanza di altre informazioni / porzioni d codice significative, non si può aggiungere altro