Effacer les filtres
Effacer les filtres

Concatenating a signal given its segments' limits

1 vue (au cours des 30 derniers jours)
Paramonte
Paramonte le 2 Déc 2023
Commenté : Voss le 3 Déc 2023
Hello there:
I have this vector (a small sample) :
ww =
10 15
16 22
33 44
45 50
51 60
70 80
These are intervals that delineate a biomedical signal in segmants. For instance segment#1 delineates the signal beteewn the samples 10 and 15, segmnent#2 delineates the signal beteewn the samples 16 and 22. Segmnent#3 delineates the signal beteewn the samples 33 and 44. And so on. We want the segments whose distance is less than N samples to be concatenated. For isnatance for N=1 the result would be:
ww_new =
10 22
33 60
70 80
Thank you for your time!
Regards

Réponse acceptée

Voss
Voss le 2 Déc 2023
ww = [
10 15
16 22
33 44
45 50
51 60
70 80
];
N = 1;
to_keep = ww(2:end,1)-ww(1:end-1,2)>N;
to_keep = [[true; to_keep] [to_keep; true]];
ww_new = reshape(ww(to_keep),[],2)
ww_new = 3×2
10 22 33 60 70 80
  2 commentaires
Paramonte
Paramonte le 3 Déc 2023
Many thanks, It works indeed! Cheers!
Voss
Voss le 3 Déc 2023
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by