dea*_*r10 1 modelica openmodelica
我正在使用 Open Modelica。
我有大量 .csv 格式或 .mat 格式的浮点数(~4,000,000 个数字)(它们对我来说同样方便)。
我使用 ExternData 包 (.csv) 或使用 Modelica.Utilities.Streams.readRealMatrix (.mat) 将数据加载到 OpenModelica。它存储为 Real 类型的常量数组。
我已经生成了一个 C 函数,可以对这个数据集执行一些操作(一些奇怪的插值)。这与保存数据的 ExternalObject 相关联,该数据通过其构造函数和 Modelica 接口提供给它。
我的问题是 OpenModelica 翻译器在面对大尺寸的常量数组时似乎会停止,并消耗大量内存。例如,跟随模型翻译缓慢。如果数组的大小增加,翻译时间和内存消耗似乎呈指数增长。
model test
constant Real[10000,5] test_array;
end test;
Run Code Online (Sandbox Code Playgroud)
还有另一种方法可以将我的数据从 .csv 或 .mat 文件移动到外部对象吗?我认为我的外部 C 代码可以自己导入 .csv 或 .mat 文件,但这远远超出了我几乎不存在的 C 编程能力。还有其他方法吗?