Я пытаюсь проанализировать временные ряды поворотов колес, которые были отобраны с интервалом в 1 минуту в течение 10 дней. t - это массив 1 x 14000, который идет от 0,166 до 240 часов. analysis.timeseries. (Grp). (Chs) - это массив 1 x 14000 для каждой из моих групп интересов и их конкретных каналов, которые определяют активность в каждую минуту выборки.Я заинтересован в сборе максимальной мощности и частоты, с которой это происходит.Моя проблема в том, что я не уверен, в каких единицах f поступает. Я хотел бы, чтобы он возвращался циклами в час и охватывал максимальный период 30 часов.Я пытался использовать пример Galileo в документации в качестве руководства, но, похоже, это не сработало.Ниже мой код:
groups = {'GFF' 'GMF' 'SFF' 'SMF'};
chgroups = {chnamesGF chnamesGM chnamesSF chnamesSM};
t1 = (t * 3600); %matlab treats this as seconds so convert it to an hour form
onehour = seconds(hours(1));
for i = 1:4
grp = groups{1,i};
chn = chgroups{1,i};
for channel = 1:length(chn)
chs = chn{channel,1};
[pxx,f]= plomb(analysis.timeseries.(grp).(chs),t, 30/onehour,'normalized');
analysis.pxx.(grp).(chs) = pxx;
analysis.f.(grp).(chs) = f;
analysis.lsp.power.(grp).(chs) = max(pxx);
[row,col,v] = find(analysis.pxx.(grp).(chs) == analysis.lsp.power.(grp).(chs));
analysis.lsp.tau.(grp).(chs) = analysis.f.(grp).(chs)(row);
end
end