saving results as a table
Afficher commentaires plus anciens
Hi guys,
After doing my analysis with multiple files, using this code:
myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir,'*.txt')); %gets all txt files in struct
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
num = importdata(fullFileName); %or readtable
end
I managed to get the desired results in no time. But, there is a problem with the output, which is not structured, something like this:
Now reading C:\...\file1.txt
result1 =
0.5041
result2 =
-0.0212
Now reading C:\...\file3.txt
result1 =
0.767
result2 =
0.323
Is there a more efficient way to visualize or perhaps store the results in a single file sorted by the file name and results? There are about 320 results, which I would have to manually rearrange if I don't solve this in Matlab.
Thanks
Réponses (1)
Akira Agata
le 19 Jan 2018
I think the code becomes like this.
N = length(myFiles);
baseFileName = cell(N,1);
result1 = zeros(N,1);
result2 = zeros(N,1);
for k = 1:N
baseFileName{k} = myFiles(k).name;
result1(k) = ****; % <- put your process which returns result1
result2(k) = ****; % <- put your process which returns result2
end
% Summarize in one table
T = table(baseFileName,result1,result2);
% Sort by file name
T = sortrows(T,'baseFileName');
Catégories
En savoir plus sur Text Files dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!