h5write
写入 HDF5 数据集
语法
说明
示例
写入整个数据集
创建一个名为 DS1
的 10×20 数据集。
h5create("myfile.h5","/DS1",[10 20])
将一个 10×20 随机数数组写入该数据集。由于 DS1
的维度是固定的,因此要写入其中的数据量必须与其大小相匹配。
mydata = rand(10,20); h5write("myfile.h5","/DS1",mydata)
显示文件内容。
h5disp("myfile.h5")
HDF5 myfile.h5 Group '/' Dataset 'DS1' Size: 10x20 MaxSize: 10x20 Datatype: H5T_IEEE_F64LE (double) ChunkSize: [] Filters: none FillValue: 0.000000
写入数据集块
创建一个名为 DS2
的 10×20 数据集。
h5create("myfile.h5","/DS2",[10 20])
将数据的一个 5×7 子集写入该数据集的最后一个 5×7 块。将 count
指定为 [5 7]
以匹配您所写数据的大小。将 start
指定为 [6 14]
,因为从该起点移动 count
个元胞将在数据集的最后一个元素中结束。
mydata = rand(5,7); h5write("myfile.h5","/DS2",mydata,[6 14],[5 7])
将数据写入无限数据集
将数据写入一个具有无限维度的数据集。
创建一个在第二个维度是无限的数据集。必须指定 ChunkSize
才能将数据集的维度设置为 Inf
。
h5create("myfile.h5","/g2/DS2",[20 Inf],"Chunksize",[5 5]);
将一个 3×3 数据分块写入 "/g2/DS2"
。从起点 [3 2]
开始,一直写到分块的末尾。您可以向数据集的第二个维度写入任何大小的数据,因为该维度是无限的。
data = rand(3); start = [3 2]; count = [3 3]; h5write("myfile.h5","/g2/DS2",data,start,count);
从数据集中读取所有数据。
h5read("myfile.h5","/g2/DS2")
ans = 20×4
0 0 0 0
0 0 0 0
0 0.8147 0.9134 0.2785
0 0.9058 0.6324 0.5469
0 0.1270 0.0975 0.9575
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
⋮
输入参数
filename
— 文件名
字符串标量 | 字符向量
文件名,指定为包含现有 HDF5 文件名的字符串标量或字符向量。
根据您写入的位置,filename
可以采用以下形式之一。
位置 | 形式 | ||||||
---|---|---|---|---|---|---|---|
当前文件夹 | 要写入当前文件夹,请在 示例: | ||||||
其他文件夹 | 要写入不同于当前文件夹的文件夹,请在 示例: 示例: | ||||||
远程位置 | 要写入远程位置,
根据您的远程位置,
有关详细信息,请参阅处理远程数据。 示例: |
ds
— 数据集名称
字符串标量 | 字符向量
数据集名称,指定为字符串标量或字符向量,其中包含 HDF5 文件中一个现有数据集的名称。
start
— 开始位置
由 1 组成的向量 (默认) | 数值向量
起始位置,指定为由正整数组成的数值向量。对于 n
维数据集,start
是长度为 n
的向量,其中包含从 1 开始的索引。start
的元素按顺序对应于数据集维度。如果 ds
的任一维度是无限维度,则必须指定 start
。
如果未指定 start
,则 h5write
函数将从每个维度的第一个索引开始写入数据集。
count
— 元素数量
由 Inf
组成的向量 (默认) | 数值向量
要写入的元素数,指定为由正整数组成的数值向量。对于 n
维数据集,count
是长度为 n
的向量,用于指定要沿每个维度写入数据集的元素数。count
的元素按顺序对应于数据集维度。如果 ds
的任一维度是无限维度,则必须指定 count
。
stride
— 元素之间的间距
由 1 组成的向量 (默认) | 数值向量
沿数据集的每个维度的元素之间的间距,指定为由整数组成的数值向量。对于 n
维数据集,stride
是长度为 n
的向量。stride
向量的元素按顺序对应于数据集维度。值为 1
表示写入时不会跳过对应维度中的元素,值为 2
则每隔一个元素写入一次,依此类推。
如果没有指定 stride
,则 h5write
函数写入数据时不会沿每个维度跳过元素。
局限性
h5write
不支持在 HDFS™ 远程位置写入文件。
版本历史记录
在 R2011a 中推出R2020b: 将数据写入远程位置的 HDF5 文件
您可以将数据写入远程位置(例如 Amazon S3、Windows Azure Blob 存储和 HDFS)的 HDF5 文件。
R2020b: 将数据写入具有 Unicode 名称的 HDF5 文件
您可以将数据写入其名称以 Unicode 字符编码的 HDF5 文件。
R2020a: UTF-8 字符编码是默认设置
UTF-8 现在是 h5write
的默认字符编码,因此所有 Unicode 代码点都能在 HDF5 文件中表示。以前,默认编码是 ASCII。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)