Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
背景:
我继承了离散事件仿真MATLAB模型,并希望自动化并加快其执行速度。除了要调用sim(modelName)并让MATLAB运行解释代码外,我想要一个类似于调用system('modelName.exe ...')的解决方案。我这样做的动机来自于初步测试,该测试表明速度提高了近1000%。我设法将Real-Time Workshop与Rapid Simulation目标一起使用,以产生具有静态内存分配的exe。问题在于模型中存在嵌入式MATLAB Function模块,其参数在每次运行中的大小和形状都会变化。将会有成百上千的运行。 根据MathWorks文档: 嵌入式MATLAB功能块不支持动态内存分配: “不能在嵌入式MATLAB Function模块中为可变大小的数据使用动态内存分配。使用有界而不是无界的可变大小数据。” 题: 此限制可能有什么解决方法? 想法:
回答: 几年后的后续工作...我们进行了当天进行了一年左右的动态静态重新编译,然后另一位统计数据开发人员将其重新编写为c ++。每次运行都使用最大可能的内存根本不是浪费计算资源。 更多&回答... |
![]() |
![]() |