Accessing multiple cells from char array
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
sprklspring
le 12 Juin 2018
Commenté : sprklspring
le 12 Juin 2018
Dear all, I have a problem with the following: in a directory I store 12 *mat files - each of these files store one variable, 'averages'. Each 'averages' is a 1xn cell array of various lengths for different *mat files(i.e. 'averages' for 1.mat is of length 9, and 'averages' for 2.mat is of length 6 etc.). I need to load all of those files from directory and perform a cross-correlation between vectors of the same length that I store in each of the cells of all of 'averages' from different *mat files. I wanted to use this:
Folder = 'C:...'
FileList = dir(fullfile(Folder, '*.mat'));
nFile = numel(FileList);
for i1 = 1:nFile
file1 = fullfile(Folder, FileList(i1).name);
for i2 = i1+1:nFile
file2 = fullfile(Folder, FileList(i2).name);
...
end
end
- but the problem is, I have multiple cells within each of my *mat files and not sure how to operate within the character string arrays.
This is what I do witin one 'averages' file, and I would like to do the same between all of 'averages' *mat files:
corr_out = zeros(length(averages),length(averages));
for m=1:length(all_files);
for p=1:length(averages);
for r=p+1:length(averages);
corr_out(p,r) = xcorr(averages{1,p}(:)',averages{1,r}(:)',0,'coeff');
end
end
end
I am attaching two exemplary 'averages' files. Would be very grateful for your help!
0 commentaires
Réponse acceptée
Stephen23
le 12 Juin 2018
Modifié(e) : Stephen23
le 12 Juin 2018
First just load all of the files, and put the required data into a cell array:
Folder = 'C:...'
FileList = dir(fullfile(Folder, '*.mat'));
nFile = numel(FileList);
cFile = cell(1,nFile);
for k = 1:nFile
F = fullfile(Folder, FileList(k).name);
S = load(F);
cFile{k} = S.averages;
end
and then do your cross correlation on the contents of the cell array cFile.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Cell Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!