2015-09-21 48 views
0

我想用Matlab编码器在Matlab-r2015a中构建一个Mex函数。我想转换的入口点函数是alg.m,它由main.m调用。为什么Matlab编码器速度很慢?

按照程序,我在要求我“为每个入口点函数定义每个输入的类型”的步骤。我选择自动程序并输入main.m

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

我怀疑这应该是这样的,因为当我强加使计算速度更快的参数值时,输入类型和问题检查立即完成。无论如何,我希望有更多的解释和解决问题的建议(如果有的话)。

+0

我们如何重现您的问题? – NKN

+0

我想知道matlab编码器的工作原理:是否需要运行matlab算法来创建mex函数?有没有办法避免这种情况? – user3285148

回答

0

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

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

相关问题