为什么 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 Types
和 Check for Run-Time Issues
运行 main.m
这两个步骤将依次 运行 alg.m
.
如果入口点函数的输入数据类型不变,则可以编写两个测试平台(即 main.m
的两个版本)——一个较短的调用入口点的测试平台一次用于定义输入类型,一次更全面,彻底练习 alg.m
。前者可用于快速定义输入类型,后者应在检查 运行-time 问题时使用。
我正在尝试使用 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 Types
和 Check for Run-Time Issues
运行 main.m
这两个步骤将依次 运行 alg.m
.
如果入口点函数的输入数据类型不变,则可以编写两个测试平台(即 main.m
的两个版本)——一个较短的调用入口点的测试平台一次用于定义输入类型,一次更全面,彻底练习 alg.m
。前者可用于快速定义输入类型,后者应在检查 运行-time 问题时使用。