为什么 Matlab Coder 很慢?

Why Matlab Coder is slow?

我正在尝试使用 Matlab Coder 在 Matlab-r2015a 中构建 Mex 函数。我要转换的入口点函数是 alg.m,它被 main.m 调用。

按照程序,我正处于要求我 "define the type of each input for every entry point function" 的步骤。我选择自动程序并输入 main.m

我的问题是:为了定义每个输入的类型,Matlab Coder 花费了很长时间;同样的问题出现在下一步,当我必须检查Matlab代码中是否存在问题时。那是因为 Matlab 必须执行整个 main.m+alg.m 吗?

我怀疑应该是这种情况,因为当我施加使计算更快的参数值时,输入类型和问题检查会立即完成。无论如何,我想有更多的解释,如果有的话,建议解决问题。

您是正确的,Define Input TypesCheck for Run-Time Issues 运行 main.m 这两个步骤将依次 运行 alg.m.

如果入口点函数的输入数据类型不变,则可以编写两个测试平台(即 main.m 的两个版本)——一个较短的调用入口点的测试平台一次用于定义输入类型,一次更全面,彻底练习 alg.m。前者可用于快速定义输入类型,后者应在检查 运行-time 问题时使用。