Finding a redundant pattern in a matrix

Hi,
I'm trying to compare a serie of number in a matrix of cells to see if some pattern are redondant.
The issue is that the pattern needs to be in the same order but it can be broken by another number.
For example : C1=[ 5 9 3]; C2=[ 9 5 3]; C3=[9 5 9 3]; C4=[5 9 8 3]; ...
In this case, I want to know that the pattern in C1 is repeated in C3 and C4 ... then do the same for C2.
Thanks for your help
Anna

1 件のコメント

Image Analyst
Image Analyst 2023 年 1 月 26 日
編集済み: Image Analyst 2023 年 1 月 26 日
What's the use case (context as to why that is needed)? Have you tried a brute force search via a nested for loop? That would be pretty simple and fast for short vectors.

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

 採用された回答

Walter Roberson
Walter Roberson 2023 年 1 月 26 日

0 投票

C1=[ 5 9 3]; C2=[ 9 5 3]; C3=[9 5 9 3]; C4=[5 9 8 3]; C5 = [5 3 9 8];
is_in(C1, C2)
ans = logical
0
is_in(C1, C3)
ans = logical
1
is_in(C1, C4)
ans = logical
1
is_in(C1, C5)
ans = logical
0
function match = is_in(looking_for, in_what)
match = all(any(triu(looking_for.' == in_what),2));
end

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSparse Matrices についてさらに検索

製品

タグ

質問済み:

2023 年 1 月 26 日

コメント済み:

2023 年 1 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by