get specific range of data from vector, indicated by other vector
4 次查看(过去 30 天)
显示 更早的评论
I have a big datafile, containing several columns of data (data.d). I need the data of the second column of data --> data.d(:, 2). The first column of this file indicates the corresponding timestamps (i.e. it says when the event of column two happened). Column two, however, is huge and I only need a certain range numbers of it: i.e. I have an index list with timestamps (index) from another file which indicates, at what timepoint a button was pressed, so which range I need - from this timestamp, I need to infer into data.d(:, 2) and go back 6000ms and get all datapoints from -6000 to my original index from data.d (:, 2). Every row represents 2 ms, that's why I wrote -3000. Currently I am getting the range of numbers between data.d(i,2) minus 3000 until data.d(i, 2) in equal steps, which is not what I need at all. I need the values of my original data in data.d(:, 2). The second thing I am not sure about is how I can get not just the first range of elements (so the first range of -6000ms to 0) but all ranges of these 5 indeces in 'index' in one vector. Thank you all very much in advance!!
index = [13500, 14628, 18500, 20788, 24567]
for i = 1:length(data.d(:, 2))
if ismember(i, index)
loc_list = (data.d(i-3000,2) : data.d(i,2))'
end
end
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!