0

それぞれ約 1032 x 4 の一連のデータセットがあります。今持っているプログラムを使用すると、特定のイベントが発生している時間を見つけることができます (私は構造を介してそれを行いました)。そして、私が得る出力は次のとおりです。

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
4

1 に答える 1