注:此为论文读书笔记
英文论文原名为:《A new Implementation of the N-D Lookup Tables》
由于笔者英文水平不咋地,先翻译了一遍。
摘要
HDF5Table库是一个开源的解决方案,用于系统仿真中典型数据集的有效处理、交换(exchange)和插值(interpolating)访问。该库由C函数、Python脚本和示例组成,可以与Modelica或Simulink等不同的应用程序一起使用。此外,还提供了一套允许用户创建,迁移,编辑,比较和管理数据集的综合工具。
应用范围包括从测量或其他仿真中导入数据,在预处理例程中集成数据集,在仿真中使用数据集以及对仿真结果进行后处理。为了消除(eliminate)仿真工具或不同公司之间的数据交换后的主要误差源,并验证数据集,每个数据集可以附加物理单位和数量。可以使用不同的内插和外插方法轻松访问表数据。 为了保存(persist)和交换数据集,使用了HDF5标准的子集。 使用HDF5 API,大型文件的数据访问速度很快,其中包含多个变量,包含数百万个值,并且可以在许多其他工具中打开数据集。
关键字:HDF5; 查找表; 单位和数量安全; 插值 外插法
摘要介绍了一个叫HDF5表的标准库,看他的意思,这个库很厉害。
1 简介
查找表通常在工业仿真中起主要作用。它们被广泛用于物理模型或参数不可用或现有模型的评估计算过于昂贵的广泛应用中。在这些系统中,查找表被用来重放测量值以及预处理和后处理测试工作台记录的刺激。 另一个应用是从长时间运行的系统或有限元模拟计算查找表。
对于Modelica和其他仿真平台存在一些解决方案,其中一些将在下一节中详细讨论。所有这些解决方案都有不同的局限性和问题,本文提出的实现和一组支持工具正试图解决这些问题。
2 现有解决方案
Modelica标准库(MSL)在其模块包中提供了许多表。 基于所提供的输入功能进行分离。这里的前缀combi显示了表的功能,可以从Modelica环境中以参数的形式直接接受用户输入,或者从文件中读取数据。在工业应用中,第二种选择几乎是单独使用的,因为即使对于中等大小的表,它也更方便。
提供了满足不同需求的表块,因此将其分为Blocks.Sources和Blocks.Tables包。将源包中的表隐式地分离到包中定义表的单个输入为模拟时间。这些表主要用于回放记录的连续刺激,例如随时间控制输入或速度信号。 由于这些表具有单个输入,并且非常适合时间序列仿真,因此不在本文讨论范围之内。
这将通向Blocks.Tables包。 这些表通常用来涵盖无法以合理的努力或性能基于物理建模的效果。因此,根据输入数量的不同,使用表来近似行为。同样,对于Block.Tables中的表,输入的数量被限制为一到两个,这在许多应用中成为一个限制因素。因此,Dymola提供了包含TableND的数据文件包,TableND将输入的数量扩展到理论上的无限量。如缺少的前缀所示,只能从.mat文件读取数据。 DataFiles软件包包含许多功能,这些功能支持用户生成必要的.mat文件。 此外,还提供了一些Matlab脚本来支持数据存储过程。