create a matrix that keeps only the sequential numbers

3 visualizzazioni (ultimi 30 giorni)
Hi! I need to create a matrix that keeps only the sequential numbers in the first column (and keep the corresponding number in the second column) and delete everything else. Here is an example:
  3 Commenti
Akira Agata
Akira Agata il 3 Ago 2023
What happens if the 1st column consists of two sequential numbers, like: [1 2 3 4 7 8 9 10]' ?
Alberto Acri
Alberto Acri il 3 Ago 2023
@Stephen23 If there are two or more sets of sequential numbers, I would like to keep all sequences of at least 2 sequential numbers. So if the first column is: [77; 78; 79; 81; 83; 84; 94] it would become: [77; 78; 79; 83; 84]. Or if the first column is: [77; 78; 79; 81; 82; 83; 84] it would remain the same.
@Akira Agata In the case you wrote, the column would remain the same.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 3 Ago 2023
S = load('CountArray_A_zoom_select.mat');
A = S.CountArray_A_zoom_select
A = 9×2
77 769 78 513 79 412 80 331 81 297 82 182 83 116 84 76 94 64
X = diff(A(:,1))==1;
Y = [X;0]|[0;X];
B = A(Y,:)
B = 8×2
77 769 78 513 79 412 80 331 81 297 82 182 83 116 84 76

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by