非常に大きな 3D マトリックスがあり、この大きなマトリックスから特別な構成でいくつかの特定のパターンを呼び出す必要があります。たとえば、a、b、c、..、h 要素が特定の値と等しいサブマトリックスが必要です (パターン マッチングではありませんが、特定の値を持つパターンが必要です)。
それらを非常に高速に見つけるための解決策はありますか? 私が知っているように、1 つの解決策は、マトリックスをスキャンしてそのパターンをデータベースに保存し、PCA を使用してデータベースのサイズを縮小することですが、より正確な方法を探しています。
たとえば、I のような行列があるとします。
I=[1 0 0 1 0 1 0 1 0
0 0 0 0 0 0 0 0 0
0 1 0 0 1 0 0 1 0
1 0 1 1 0 1 0 1 0
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 1
0 0 1 0 0 0 0 1 0]
次に、次のような別のマトリックスがあります。
p=[1 0 NaN NaN 1 NaN NaN NaN NaN]
次に、「I」を調べて、列 1、2、および 5 がそれぞれ 1、0、1 に等しい行を見つける必要があります (この例では、6 行が正しい行です。しかし、実際には、私の行列 (I) のサイズは非常に大きく (10 億以上)、これらの行を見つけるためにループを使用すると、多くの時間が必要になります. 高速なコードまたはメソッドを探しています. 今すぐ意味があることを願っています!