1

私がやりたいのは、より大きな2D行列内の2D行列を検索することです。そのために、ボイヤームーアアルゴリズムの2Dバージョンを見つけました。しかし、matlabでの行列の操作は常に簡単なので、C++コンパイラでmatlab関数を呼び出すことができるかどうか疑問に思いました。

ここの人々はmatlabでそれを行う方法を知っていると思います。
http://www.mathworks.com/matlabcentral/newsreader/view_thread/247971

この目的のために存在する図書館または何かがありますか?これには、少なくとも上記のリンクにあるプログラムで使用される機能が含まれています。

PS:誰かがこの検索の問題の解決策を提供できるなら、それをしてください。

4

2 に答える 2

1

Matlabのドキュメントで探しているものは次のとおりです

于 2012-04-13T10:59:08.897 に答える
0

このためのライブラリはわかりません。matlabのWebサイトをチェックして、開発ライブラリが販売されているかどうかを確認する方が幸運かもしれません。

解決策としては、この問題は概念的には文字列内の部分文字列を見つける問題と非常に似ているようです。簡単に検索しているときにこれを見つけました。きっと役立つと思います。

基本的な解決策としては、次のようになります。

p x q行列内の部分行列を見つけたいとしますn x m

    for each row (up to row n - p):
      search each column (up to column m - q)
        if value in matrix equals first value check the rest of the submatrix
          if submatrix found, exit or store solution and keep looking for more
于 2012-04-13T11:02:48.260 に答える