create a matrix that keeps only the sequential numbers

4 ビュー (過去 30 日間)
Alberto Acri
Alberto Acri 2023 年 8 月 3 日
回答済み: Stephen23 2023 年 8 月 3 日
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 件のコメント
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 日
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 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by