Can someone advise how I fix this loop?

1 visualización (últimos 30 días)
DavidL88
DavidL88 el 5 de Jun. de 2020
Comentada: DavidL88 el 10 de Jun. de 2020
I am using a MatLab based interface for processing EEG files collected from 59 subjects. The below code works but only for 1 file and I have 59 files I want a result from. sFiles filters the files stored in this interface and correctly returns 59 files. However, sStudy only returns a result for the first file. How do I run a loop on the below code so I can get 'n' for all 59 files? I would like to get the result 'n' for each file along with the subject name (in sFiles as SubjectName).
sFiles = bst_process('CallProcess', 'process_select_search', [], [], ...
'search', '(([name CONTAINS "resample"]))');
sStudy = bst_get('Study', sFiles.iStudy);
DataMat = in_bst_data(sStudy.Data(i).FileName);
n = numel(DataMat.F.events(3).times)

Respuesta aceptada

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 5 de Jun. de 2020
Hi,
That would be somewhat in this way:
for ii = 1:59
sFiles(ii).iStudy = bst_process('CallProcess', 'process_select_search', [], [], ...
'search', '(([name CONTAINS "resample"]))');
sStudy = bst_get('Study', sFiles(ii).iStudy);
DataMat = in_bst_data(sStudy.Data(ii).FileName);
n(ii) = numel(DataMat.F.events(ii).times);
end
  5 comentarios
Sulaymon Eshkabilov
Sulaymon Eshkabilov el 10 de Jun. de 2020
Is that working ok, now? if so, hit accept the answer. Thx.
DavidL88
DavidL88 el 10 de Jun. de 2020
Hi Sulaymon,
That was the right approach thanks. I had to change the variables.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by