归一化压缩距离C代码

发布于 2024-11-09 13:27:16 字数 63 浏览 5 评论 0原文

有谁知道C语言中是否已经有一个代码可以计算两个文件的NCD(归一化压缩距离),或者我需要自己编写代码?提前致谢!

does anybody knows if there is already a code in C that calculates the NCD (normalized compression distance) for two files or I need to write the code by myself? Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

二货你真萌 2024-11-16 13:27:16

我认为没有任何 C 库可以计算 NCD 系列函数或任何类似的东西。您最好的选择可能是在 MATLAB 中执行此操作,然后将 m 文件 转换为等效的 C 代码作为 mex 文件.或者,您也可以编写自己的代码。

如果您的代码可以在 Linux 系统上运行,那么您可以使用 tar 实用程序以及 -z 选项来表示 gzip-j< bzip 压缩算法的 /code> 选项。要创建 bzip 存档,请使用以下选项:tar -cjf foo.bz2 temp/ 创建 temp 的 bzip 存档/ 目录并将输出命名为 foo.bz2。要创建 gzip 存档文件,请使用以下选项: tar -cjf foo.gzip temp/

要从 c 程序中调用此代码,您可以使用system()命令。此命令将您想要调用的任何实用程序(带参数)作为字符串作为输入,并返回一个 int 指示成功或失败。您可以像这样调用它:

int i = system("tar -cjf foo.bz2 temp/") 

I do not think there are any C libraries out there to compute the NCD family of functions or anything of the sort. Your best bet might be to do this in MATLAB and then convert the m files into equivalent C code as a mex file. Alternatively, you could write your own code too.

If your code can run on Linux systems, then you can use the tar utility with -z option for gzip and -j option for the bzip compression algorithm. To create a bzip archive, use the following option: tar -cjf foo.bz2 temp/ creates a bzip archive of the temp/ directory and names the output foo.bz2. To create a gzip archived file, use the following options: tar -cjf foo.gzip temp/

To call this code from within a c program, you can use the system() command. This command takes whatever utility you want to invoke (with parameters) as a string as input and returns an int indicating success or failure. You can invoke it like so:

int i = system("tar -cjf foo.bz2 temp/") 
绻影浮沉 2024-11-16 13:27:16

Ubuntu Hardy Heron 下有一个名为 ncd 的工具。这可能就是您正在寻找的。更多信息:http://manpages.ubuntu.com/manpages/hardy/ man1/ncd.1.html

编辑:
ncd 程序来自 libcomplearn 软件包,您可以从此处下载该软件包(源代码位于名为 src 的文件夹中):https://launchpad.net/ubuntu/hardy/+source/libcomplearn/1.1.1-1

请注意,我还没有查看许可条款和其他限制工具。您可能想在使用该工具或源之前查看它们。

There is a tool called ncd under Ubuntu Hardy Heron. It may be what you're looking for. Further info: http://manpages.ubuntu.com/manpages/hardy/man1/ncd.1.html

EDIT:
The ncd program comes from the libcomplearn package and you can download this package (the sources are in a folder called src) from here: https://launchpad.net/ubuntu/hardy/+source/libcomplearn/1.1.1-1

Please note that I haven't taken a look at the licensing terms and other limitations of the tool. You might want to have a look at them before using the tool or the sources.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文