0

我在 Visual Studio 和 Eclipse 中有一个非常大的 C/C++ 软件项目。有一些以 SIMULINK 模型形式存在的第三方软件。目前是否可以:

1) 为 SIMULINK 模型编写 C/C++ 包装函数?2) 从外部环境(如 VS 或 Eclipse C/C++ 项目)调用函数来执行集成和进一步的任务?

我知道您可以使用 MEX (MATLAB Exec.) 函数,这些函数是为 MATLAB 使用而包装的 C/C++ 或 FORTRAN。但这对我来说并不理想。

用例

我的用例基于建模和仿真,但我的子系统在数据格式方面非常多样化。50% 在 C/C++ 中,35% 在 SIMULINK 模型中,其余的在二进制可执行文件、目标代码、符号数据等中。我正在做一些复杂的系统建模;抱歉,由于保护原因,无法进一步告诉您。

从我得到的答案来看,人们似乎热衷于使用 Mathworks 提供的东西。我的意图是得到更像是一个否定的答案,但到目前为止我也得到了很好的解释。

更新

我将不得不评估 SIMULINK 的嵌入式编码器,看看需要多少额外的努力来完善生成的代码。我读到 Embedded Coder 中有生产级代码生成工具;应该很有趣。

4

1 回答 1

2

有两种选择,具体取决于您的要求:

  • 使用 Simulink Coder 将 Simulink 模型转换为 C。这有效地使您脱离了 Simulink 环境,因此将模型功能集成到您现有的环境中与合并任何其他 C 代码相同。当然,您需要访问 Simulink Coder 才能执行此操作。

  • 调用MATLAB 引擎。请注意,您不能只调用 Simulink。您调用 MATLAB 并发出各种 MATLAB 命令来加载、执行和询问 Simulink 模型。

于 2013-06-27T13:53:00.820 回答