create a matrix that keeps only the sequential numbers

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 件のコメント

Stephen23
Stephen23 2023 年 8 月 3 日
編集済み: Stephen23 2023 年 8 月 3 日
What should happen if there are two or more series of sequential numbers?
Akira Agata
Akira Agata 2023 年 8 月 3 日
What happens if the 1st column consists of two sequential numbers, like: [1 2 3 4 7 8 9 10]' ?
Alberto Acri
Alberto Acri 2023 年 8 月 3 日
@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.

サインインしてコメントする。

 採用された回答

Stephen23
Stephen23 2023 年 8 月 3 日

0 投票

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

その他の回答 (0 件)

カテゴリ

製品

リリース

R2021b

質問済み:

2023 年 8 月 3 日

回答済み:

2023 年 8 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by