Add string files to a cell array within a loop
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Ana Gabriela Guedes
 il 20 Dic 2022
  
Hi!! 
I am creating a preprocessing fmri pipeline and wanted to ge the names of all the files from each run of a subject in a cell array. So if the subject did 3 runs I would have a 1x3 cell array where each cell would correspond to a run.
I am getting the files names in the following loop:
user = 'user';
subjects = [1]; % Replace with a list of all of the subjects you wish to analyze
runs = [1 2 3];
for subject=subjects
    runFiles = cell(1,length(runs));
    for run = runs
        subject = num2str(subject,'%02d');
        run = num2str(run);
        fileName = ['C:\Users\',user,'\Documents\BIDS__dataset\sub-',subject,'\ses-01\func\sub-PL',subject,'_ses-01_task-01_run-',run,'_bold.nii'];
        runFiles(run) = fileName;
    end
end
But when I try to add the file name to the cell array I get the error "Conversion to cell from char is not possible."
I tried to to 
runFiles(run) = cellstr(fileName); 
and 
runFiles{run} = fileName; 
but I end up with a 1x51 cell array instead of a 1x3.
For reference, I would like to end up with something like:
{                                                                
{'C:\Users\user\Documents\BIDS__dataset\sub-PL01\ses-01\func\sub-01_ses-01_task-01_run-1_bold.nii'}
{'C:\Users\user\Documents\BIDS__dataset\sub-01\ses-01\func\sub-01_ses-01_task-01_run-2_bold.nii'}
{'C:\Users\user\Documents\BIDS__dataset\sub-01\ses-01\func\sub-01_ses-01_task-01_run-3_bold.nii'}
};
Thank you in advance! 
0 Commenti
Risposta accettata
  Stephen23
      
      
 il 20 Dic 2022
        Simpler using COMPOSE():
user = 'user';
runs = [1,2,3];
subj = 1;
fmt = 'C:\\Users\\%s\\Documents\\BIDS__dataset\\sub-%02d\\ses-01\\func\\sub-PL%02d_ses-01_task-01_run-%d_bold.nii';
txt = compose(fmt,user,subj,subj,runs(:))
0 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Whos in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

