Remove overlapping intervals from two array intervals without using a loop
10 ビュー (過去 30 日間)
古いコメントを表示
Having the start and end of each interval of the noise array, how could I do it to exclude those times that overlap with another interval array of detections?
I know how to do it in a loop, but then it has to go interval by interval to check if they overlap to excluded it and this takes to much time. Is there a better approach that I could use without using a loop?
I know I can check for the overlapping intervals like this:
ovlp = @(x, y)bsxfun(@ge, x(:, 1), y(:, 1)') & bsxfun(@le, x(:, 1), y(:, 2)');
idx = ovlp(noise,det) | ovlp(det, noise)';
[row, col] = ind2sub(size(idx), find(idx));
output = [row, col];
However, then this does not tell me what start or end of the noise interval will become the end of the detection interval.
Thank you so much for your help.
Alba
0 件のコメント
回答 (2 件)
Asrar Khaldey
2021 年 1 月 24 日
Hi
Unfortunately I have the same problem.. can u please share the solution if u found one
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!