У меня есть набор наборов данных, каждый из которых содержит около 1032 x 4. С программой у меня теперь есть время, в которое происходит определенное событие (я сделал это, хотя структуры). И выход я получаю:извлекать данные из определенных строк Matlab
startTime: [1 84 111 251 450 482 613 660 787 951 956]
endTime: [5 90 112 252 451 485 619 661 788 952 961]
Этот вывод говорит мне, из какой строки, к которой строка это событие, что я заинтересован в происходящем. Поэтому я хочу получить последовательность значений из строки 1 в строку 5, начиная с строк 84 до 90, от 111 до 112, от 251 до 252 и т. Д. Я могу сделать это вручную, набрав time(1)
, time(5)
, time(84)
, time(90)
, чтобы я может рассчитать продолжительность событий. Но есть ли способ сделать это автоматически?
Помогите пожалуйста! Это звучит легко, но это сводит меня с ума.
Спасибо заранее,
код у меня до сих пор является:
function DetectEvent = DetectEvent(inputData, ColumnNumbers)
%ColumnNumbers = 1 contains Time
%ColumnNumbers = 2 contains Position
%ColumnNumbers =3 contains velocity
%ColumnNumbers=4 contains accelereation
eventNow = false;
event.startTime = []; % initialise
event.endTime = []; % initialise
for i = 1: length(inputData)
if abs(inputData(i,ColumnNumbers.velocity)) == 0
if ~eventNow
eventNow = true;
thisevent.startTime = i;
end
else
if eventNow
eventNow = false;
thisevent.endTime = i - 1;
event.startTime = [event.startTime, thisevent.startTime];
event.endTime = [event.endTime, thisevent.endTime];
end
end
end
вы можете разместить свой код до сих пор (или, по крайней мере соответствующая часть) – am304
'времени (Конечное время) -.? время (начальное время)' – Dan