我的研究项目组正在尝试将 matlab 代码导出为 FMU。我们想出的一种方法是从 matlab 脚本生成 c 代码并将 c 代码导出为 FMU。我很好奇是否有任何工具可以将 c 代码打包为 FMU?如果没有,还有其他方法可以实现吗?
在@mklingn 回答后更新问题。
我尝试使用bouncingball.c进行编辑,但我面临的问题是,在提供的每个示例中,变量都被视为布尔或双精度数据类型。在我的情况下,输入之一是结构,例如我生成的 c 文件是
#include "mult.h"
/* Function Definitions */
/*
* Arguments : double u
* double v
* const struct0_T *m
* Return Type : double
*/
double mult(double u, double v, const struct0_T *m)
{
double y;
y = u * v * m->x[2];
/* fcn(u,v ,'parameter1',m,'parameter2',n) */
return y;
}
生成的 .h 文件是
#ifndef MULT_H
#define MULT_H
typedef struct {
char y[6];
double x[6];
} struct0_T;
extern double mult(double u, double v, const struct0_T *m);
#endif
所以根据您的第 2 点:FMI 2.0 版无法进行这种导出。我理解你的观点正确吗?