2 つのファイルの NCD (正規化された圧縮距離) を計算する C のコードが既に存在するかどうか、または自分でコードを記述する必要があるかどうかは誰にもわかりませんか? 前もって感謝します!
2 に答える
NCD ファミリーの関数などを計算するための C ライブラリは存在しないと思います。あなたの最善の策は、これを で実行してから、 を として同等のコードMATLABに変換することです。または、独自のコードを作成することもできます。m filesCmex file
コードを Linux システムで実行できる場合は、圧縮アルゴリズムのオプションとオプションを指定してtarユーティリティを使用できます。アーカイブを作成するには、次のオプションを使用します:ディレクトリのアーカイブを作成し、出力に名前を付けます。アーカイブ ファイルを作成するには、次のオプションを使用します。-zgzip-jbzipbziptar -cjf foo.bz2 temp/bziptemp/foo.bz2gziptar -cjf foo.gzip temp/
プログラム内からこのコードを呼び出すにcは、コマンドを使用できますsystem()。このコマンドは、(パラメータを使用して) 呼び出したいユーティリティを入力として文字列として受け取り、int成功または失敗を示す値を返します。次のように呼び出すことができます。
int i = system("tar -cjf foo.bz2 temp/")
ncdUbuntuHardyHeronの下に呼ばれるツールがあります。それはあなたが探しているものかもしれません。詳細情報:http://manpages.ubuntu.com/manpages/hardy/man1/ncd.1.html
編集:ncdプログラムはパッケージからのものであり、ここからlibcomplearnこのパッケージをダウンロードできます(ソースはと呼ばれるフォルダーにありますsrc):https ://launchpad.net/ubuntu/hardy/+source/libcomplearn/1.1.1-1
ツールのライセンス条項やその他の制限については確認していませんのでご注意ください。ツールまたはソースを使用する前に、それらを確認することをお勧めします。