Considerando che la struttura del nome dei files è sempre la stessa, la cosa più semplice che puoi fare è:
[*] racchiudere il codice che corrisponde ad un caso all'interno di un ciclo "for"
[*] generare il nome del file di input come stringa in modo automatico
[*] sostituire, nel blocco di codice, tutte le occorrenze del nome del file (che al momento scrivi direttamente) con la stringa che hai generato
La struttura del nome dei files si compone di tre parti: la prima e la terza sono costanti, la seconda è un numero intero progressivo (XXX)
f_name = 100_CH
XXX
.continuous
Per costruire la stringa con il nome dei file puoi definire due stringhe che contengono la prima e la terza parte del nome del file; la seconda parte (il numero progressivo) puoi crearla con la funzione "num2str" che converte un numero in una stringa
Per creare la stringa completa basta concatenare le tre parti come nell'esempio che segue che crea semplicemente i nomi dei 16 file.
% Prima parte del nome del file di input
base_name_1='100_CH'
% Terza parte del nome del file di input
base_name_3='.continuous'
for i=0:15
f_name=[base_name_1 num2str(i) base_name_3]
%
% INSERISCI QUI IL BLOCCO DI CODICE
%
end
A questo punto sarà sufficiente sostituire le occorrenze del nome del file nel blocco di codice con la stringa.
Di seguito un estratto del tuo codice, modificato:
%parse(p,'100_CH1.continuous');
parse(p,f_name);
%[data1,~,info1] = load_open_ephys_data('100_CH1.continuous');
[data1,~,info1] = load_open_ephys_data(f_name);
Se racchiudi il blocco di codice all'interno di un loop, i 16 casi verranno eseguiti in sequenza ed il codice genererà 16 figure (ricorda di inserire la chiamata alla funzione "figure" nel blocco).
Qualche considerazione sul codice che hai pubblicato:
[*] ammesso che per ogni blocco tu abbia inserito tutto il codice, non c'è un punto nel quale salvi i risultati ottenuti (le figure o le variabili) da usare per successive analisi (ammesso che ne vengano fatte)
[*] al momento usi variabili diverse in ogni blocco (es: "suprasigma0" e "suprasigma1", "sigmatrix0" e "sigmatrix1")
se utilizzerai un solo blocco di codice all'intero di un loop, non potrai avere, nel workspace i valori delle variabili di tutti i casi (ad esempio le 16 sigmatrix0, sigmatrix1, ... o qualunque altra variabile)
Nel caso ti servissero, devi salvare le variabili in vettori o matrici per poterle usare al termine del loop.
Vista la ripetitività del codice, potresti anche creare un'interfaccia grafica (con il tool "guide" o con "app designer") che potrebbe contenere, ad esempio:
[*] un listbox per la selezione dei casi / file di input (questo ti permetterebbe di eseguire un caso specifico)
[*] un axes nel quale plottare il caso selezionato
[*] pushbuttons per avviare l'analisi di un caso o di tutti (in questo caso le figure non verrebbero plottate nell'interfaccia ma in "figure" separate)
[*] dei pushbutton per selezionare file di input da cartelle diverse (ammesso che ti serva)
[*] dei pushbuttons per salvare i risultati dell'analisi (figure, dati)
[*] dei pushbuttons per aprite casi elaborati e salvati in precedenza
e tante altre cose.