То, что я хочу, это: я получил папку с 32 txt
файлами и 1 excle
файлом, каждый файл содержит некоторые данные в двух столбцах: время, уровень.
Мне уже удалось вытащитьданные из папки и откройте каждый файл в Matlab
и получите данные из него.Что мне нужно сделать, это создать график для каждого файла данных.каждый из 32 участков должен иметь:
- Среднее изменение во времени
- Стандартное отклонение
С обоими этими вещами я не могу справитьсясделай так, чтоб это работало.также мне нужно сделать еще один график, на этот раз график должен иметь среднее значение за каждую минуту из всех 32 файлов.
Вот мой код до сих пор:
clc,clear;
myDir = 'my path';
dirInfo = dir([myDir,'*.txt']);
filenames = {dirInfo.name};
N = numel(filenames);
data=cell(N,1);
for i=1:N
fid = fopen([myDir,filenames{i}] );
data{i} = textscan(fid,'%f %f','headerlines',2);
fclose(fid);
temp1=data{i,1};
time=temp1{1};
level=temp1{2};
Average(i)=mean(level(1:find(time>60)));
AverageVec=ones(length(time),1).*Average(i);
Standard=std(level);
figure(i);
plot(time,level);
xlim([0 60]);
hold on
plot(time, AverageVec);
hold on
plot(time, Standard);
legend('Level','Average','Standard Deviation')
end
основная проблема сэтот код состоит в том, что я получаю только среднее значение за все 60 секунд, а не скользящее среднее, и стандартное отклонение ничего не возвращает.
несколько вещей, которые вам нужно знать:
- * temp1 равен 1x2ячейка
- * время и уровень удваиваются 22973x1.