Сначала вы можете получить список ваших файлов, используя функцию DIR . Вот пример:
dirData = dir('File_2010_04_*.xls'); %# Match file names with a wildcard
dataFiles = {dirData.name}; %# Get the file names in a cell array
Получив эти файлы, вы можете зациклить их, используя XLSREAD для загрузки данных. Примечание XLSREAD может возвращать разные версии данных в файле Excel:
[numData,txtData,rawData] = xlsread(fileName); %# Where fileName is a string
Здесь numData
содержит ячейки с числовыми данными в файле, txtData
содержит ячейки с текстовыми данными в файле, а rawData
- это массив ячеек, который содержит все данные в файле. Вам нужно будет определить, какой массив данных использовать и как его проиндексировать, чтобы обработать матрицу данных 43200 на 30.
Собирая все вместе, вот пример кода того, как вы можете обработать ваши данные, чтобы получить максимумы столбцов и средние значения столбцов по всем вашим файлам:
columnTotal = zeroes(1,30); %# Initialize column sum
columnMax = -inf(1,30); %# Initialize column maxima
dirData = dir('File_2010_04_*.xls'); %# Match file names in the current folder
dataFiles = {dirData.name}; %# Get the file names in a cell array
nFiles = numel(dataFiles); %# Number of files
for iFile = 1:nFiles %# Loop over the files
numData = xlsread(dataFiles{iFile}); %# Load the data
%# Here, I'm assuming "numData" contains your 43200-by-30 matrix
columnTotal = columnTotal+sum(numData); %# Add up column data
columnMax = max(columnMax,max(numData)); %# Get the column maxima
end
columnAverage = columnTotal./(nFiles*43200); %# Average across all files