Creating a table then filling it with data.

2 Ansichten (letzte 30 Tage)
George Scott
George Scott am 6 Apr. 2018
Beantwortet: Jeff Miller am 6 Apr. 2018
So I'm fairly sure I'm missing something obvious, but how do I create a blank table, that I can then fill with data. What I have is a program that pulls data from a file, performs some functions, then returns the new data. I need this to be done on many files. What I want is a table with the filename of the data pulled, and the end result of the functions performed on said data.
folder = ('C:/Users/The G-Man/Documents/MATLAB/SpeechRecognition/SpeechRecognition2');
files = dir(fullfile(folder, '*.txt'));
mydata = cell(1, numel(files));
for fileidx = 1 : numel(files) mydata{fileidx} = importdata(fullfile(folder, files(fileidx).name)); y=fft(mydata{fileidx}); c=xcorr(xf,y); m=mean(abs(c));
end

Antworten (1)

Jeff Miller
Jeff Miller am 6 Apr. 2018
How about this:
  1. preallocate arrays to hold y, c, and m before you start the loop
  2. store the values into those arrays as you go through the loop, e.g. c(fileidx)=xcorr(xf,y);
  3. stuff everything into a table after the loop finishes, e.g., t=table(files,y,c,m)

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by