Multiple datasets to single table
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Joost de Witte
il 4 Dic 2019
Risposto: Jakob B. Nielsen
il 4 Dic 2019
Hello all,
I've got a large number of datasets.mat. I've writen a script that calculates averages of a single dataset which results in one single value for the loaded data set. The datasets are identical and when I change the loaded file name from data1 to data2 for example it still works as desired.
I now want to gather all these averages into one table, but have to clue on how to approach this problem (matlab novice). Any help will be appreciated, thanks!
0 Commenti
Risposta accettata
Jakob B. Nielsen
il 4 Dic 2019
You can try using something like this.
[Names,Paths]=uigetfile('*.mat','MultiSelect','on');
entirefile =fullfile(Paths,Names); %entirefile is now a cell array containing the path of all your files
average=zeros(numel(entirefile),1); %initialise an array of 0's
for i=1:numel(entirefile) %automatically repeats the sequence a number of times equal to the number of files you picked
tempdata=load(entirefile{i}); %use curly brackets when indexing cells :)
average(i)=callyourfunction(tempdata);
end
Overview=table(Names',average); %Names is a row vector, so add the ' to turn it into a column.
%Now you should have a table showing you the data file name and its corresponding average value.
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!