有人在 Mathematica 中有解决方法来读取 HDF5 复合数组吗?我在表中有一个简单的 2D 复合类型(int/float),但它目前被忽略。
HDF5 类型的示例可能是:
DATATYPE H5T_COMPOUND {
H5T_IEEE_F32LE "X";
H5T_IEEE_F32LE "Y";
}
最佳答案
有一个包,显然是由 Scot Martin 创建的 here .
据我所知,它实现了许多 HDF5 功能,包括复合类型。
以下是包中 11 HDF5HighLevel Examples.nb
的简短片段:
With[
{
file = FileNameJoin[{Directory[], subfolderWithExamples, "h5ex_t_cmpd.h5"}],
dataSet = "DS1"
},
CompoundDataType`Information[file, dataSet]
]
(*
{"DataSpaceDimensions" -> {4},
"MemberDataTypeClass" -> {0, -3, 1, 1},
"MemberMemorySize" -> {8, 8, 8, 8},
"MemberName" -> {"Serial number" , "Location",
"Temperature (F)", "Pressure (inHg)"},
"MemberOffset" -> {0, 8, 20, 28},
"MemberSize" -> {8, 8, 8, 8},
"MemoryDataTypeSize" -> 32,
"NumberOfMembers" -> 4}
*)
呵呵!
关于arrays - Mathematica HDF5 和复合数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483280/