在matlab中调用可执行函数,速度比原生matlab代码慢

Calling an executable function in matlab, slower than native matlab code?

本文关键字:matlab 原生 速度 代码 函数 调用 可执行      更新时间:2023-10-16

我编译了一个可执行函数,当我在终端中运行它时,它会接受输入并输出一些输出。这个函数是用C++编写的,我知道它应该比matlab快得多。但是,如果我的matlab代码像它自己的一样使用这个外部函数,那么它的外部调用会不会以任何方式使它变慢?

我想讨论一下,当我可以在matlab中用system()执行这个函数时,我写这个函数的matlab版本是否有意义。

这取决于。。。你必须尝试并测试它的性能。

更好的方法是将代码编写为MEX函数。这使您两全其美(将MEX文件视为DLL):C代码性能,调用开销比外部进程低。

由于您已经在C:\C++中实现了程序,您应该能够毫不费力地将其包装为MEX函数。。