我有一系列的數據集的每一個約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]
這個輸出告訴我從中行到這個事件,我感興趣的是發生哪一行。因此,我希望手動鍵入time(1)
,time(5)
,time(84)
得到從第1行的值的序列到行5,從行84至90,從111到112,從251至252,等等。我能做到這一點,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 2013-05-08 12:41:05
'時間(結束時間) - ?時間(開始時間)' – Dan 2013-05-08 13:49:38