Mon script Matlab à:Matlab: extraction onsets dans différents fichiers et de les enregistrer dans des fichiers différents
Extrait quatre fMRI onsets de fichiers Matlab (les fichiers sont nommés « sous 06 données », « sujet 05 data ', etc.)
Mettez cette information dans un nouveau fichier avec deux autres variables nommées «durées» et «noms».
Enregistrez tout cela dans un nouveau fichier MATLAB.
Je suis confronté à deux problèmes:
Pour le moment, le script parvient ci-dessous pour faire les étapes 1 à 3 pour le premier fichier Matlab dans le répertoire « Gender_recogntion », mais il ne fait pas 1 à 3 pour les autres fichiers MATLAB dans le dossier. Il se bloque dans la boucle à la ligne 'load (sub_name (i) .name);'.
C'est l'erreur que je reçois:
??? Mauvaise référence de la matrice d'index. Erreur dans ==> Gender_onsets_script_2 à 16
load (nom_sous_ (i) .name);
En outre, je voudrais nommer les nouveaux fichiers MATLAB avec le nom des fichiers MATLAB d'origine. Pour l'instant, les nouveaux fichiers MATLAB s'appellent 'onsets.mat'.
clear all
close all
clc
cd 'C:\Program Files\MATLAB\R2007b\Data\Resilience\Real_data\Raw\Matlab_files\Gender_recogntion';
sub_name = dir('C:\Program Files\MATLAB\R2007b\Data\Resilience\Real_data\Raw\Matlab_files\Gender_recogntion\*.mat');
for i = 1:numel(sub_name);
load(sub_name(i).name);
names = {'sad' 'anger' 'neutral' 'rest'};
durations = {[18] [18] [18] [18]};
onsets=cell(1,4);
onsets{1} = data.time_since_scan_start(data.emotion==5)/1000; %Get the 36 onsets for sad.
onsets{2} = data.time_since_scan_start(data.emotion==4)/1000; %Get the 36 onsets for anger.
onsets{3} = data.time_since_scan_start(data.emotion==6)/1000;% Get the 36 onsets for calm.
onsets{4} = datarest.onset/1000; %Get the six onsets for the rest blocks.
onsets{1} = onsets{1}(1:6:36)'; %Get the first onset value of each of the six blocks.
onsets{2} = onsets{2}(1:6:36)';
onsets{3} = onsets{3}(1:6:36)';
onsets{4} = onsets{4}';
%cd Onsets folder, saves onsets, and then cd back to folder "Matlab_files"
cd 'C:\Program Files\MATLAB\R2007b\Data\Resilience\Real_data\Onsets';
save 'onsets.mat' names durations onsets
cd 'C:\Program Files\MATLAB\R2007b\Data\Resilience\Real_data\Raw\Matlab_files\Gender_recogntion';
end
Votre question est impossible à analyser. Vous dites que vous avez un crash à la ligne 'load (sub_name (i) .name)' mais ce n'est même pas une ligne dans le code que vous avez posté. Essayez de résoudre votre problème étape par étape, en vérifiant que vous comprenez ce qui s'est passé à chaque étape. Ensuite, lorsque vous arrivez à une étape qui provoque un problème, essayez d'écrire du code qui ne fait que cette étape et publiez-le comme exemple. – Marc
Salut Marc, merci pour vos suggestions. Dans mon post original, je n'avais pas réalisé que le début de mon script n'était pas inclus ... J'ai changé cela. Depuis lors, j'ai essayé différentes façons de résoudre le problème, mais sans succès. – stephane