Matlab 对于hdf5文件的操作函数分为高级函数低级函数,高级函数包括h5createh5readh5writeh5disp等。在我想使用h5create保存复数数据时,我发现,数据类型参数中没有对应的复数类型。

% 语法
% h5create(filename,ds,sz)
% h5create(filename,ds,sz,Name,Value)


查阅资料后发现如果要保存复数数据,必须用更低级的函数才可以。

Example

将一个复数数据complex_data保存到data.h5文件中,其中复数的实部和虚部是float32类型数据。

clear;clc;%% 建立复数数据类型% 定义复数实部、虚部这两个member的数据类型
dtype(1) = H5T.copy('H5T_IEEE_F32LE');
dtype(2) = H5T.copy('H5T_IEEE_F32LE');% 获取对应数据的字节数
type_size(1,1) = H5T.get_size(dtype(1));
type_size(2,1) = H5T.get_size(dtype(2));% 根据字节数生成数据偏移量,第一个一般都设为0,假设有两个以上的member,
% 则最后一个的偏移量无关紧要,中间的偏移量需要累加,用cumsum函数
offset(1) = 0;
offset(2) = type_size(1);% 创建复合数据类型
file_type = H5T.create('H5T_COMPOUND',sum(type_size));% 插入对应的member
H5T.insert(file_type,'r', offset(1), dtype(1));
H5T.insert(file_type,'i', offset(2), dtype(1));%% 将复数数据保存到.h5文件中% 将复数数据转为结构体数据类型(后面保存符合h5的复数数据必须用结构体数据)
new_complex_data.r = real(complex_data);
new_complex_data.i = imag(complex_data);% 创建.h5文件
fileID = H5F.create('data.h5','H5F_ACC_TRUNC','H5P_DEFAULT','H5P_DEFAULT');% 使用之前的复合数据类型
datatypeID = H5T.copy(file_type);% 定义数据大小,主要需要把size结果翻转一下
dataspaceID = H5S.create_simple(2,fliplr(size(complex_data)),[]);% 定义h5数据集名称
dsetname = 'complex_data';% 创建数据集
datasetID = H5D.create(fileID,dsetname,datatypeID,dataspaceID,'H5P_DEFAULT'); % 写入数据
H5D.write(datasetID,'H5ML_DEFAULT','H5S_ALL','H5S_ALL','H5P_DEFAULT',new_complex_data);

参考资料

https://ww2.mathworks.cn/help/releases/R2021a/matlab/ref/h5ml.hoffset.html?s_tid=doc_ta(重要)

https://ww2.mathworks.cn/help/matlab/import_export/exporting-to-hierarchical-data-format-hdf5-files.html(重要)

https://se.mathworks.com/help/matlab/ref/datatypeh5t.html;jsessionid=ccb5ae6342170a798ef521de2314#mw_1cc58d03-1930-4334-9f16-58a886e973b7

https://ww2.mathworks.cn/matlabcentral/answers/160455-how-to-export-complex-valued-matrix-to-hdf-file#answer_157626

【MATLAB HDF5】Matlab将复数保存到hdf5文件相关推荐

  1. 电力系统潮流计算matlab仿真,计算结果自动保存到excel文件中

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  2. 怎么把matlab中的图导出,matlab的数据能保存到excel表格-如何将matlab 中输出的图形保存到Excel中去,详细点...

    怎样将MATLAB中的数据输出到excel中 数据保存到excel文件 xlswrite(xlsfile, data, sheet, range); % sheet 和 range可以不指定 如: x ...

  3. python输出print到txt-pycharm实现print输出保存到txt文件

    程序比较大,运行时间又长的时候,不想等着结果,只要先确保程序功能正确无误,可以把需要的结果print然后保存到TXT文件中,超级方便 # 创建一个txt文件,文件名为mytxtfile def tex ...

  4. 怎么保存php格式,把php代码保存到php文件实现方法

    很多时间我们需要把php生成的php代码保存到php文件里面,像如果利用到缓存时一些基础数据就直接保存到了一个指定的php缓存文件了,下面我们来看看实例.<?php function cache ...

  5. Python中用pandas将numpy中的数组数据保存到csv文件

    Python中用pandas将numpy中的数组数据保存到csv文件 本博客转载自:[1]https://blog.csdn.net/grey_csdn/article/details/7018587 ...

  6. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  7. 豆瓣电影Top250信息爬取并保存到excel文件中

    豆瓣电影Top250下载并保存到excel文件中 效果图 前言 确定目标网页url 爬取过程 导入相关库 页面内容的获取 页面解析 数据提取 主函数的编写 函数调用 数据存储 完整代码 结语 效果图 ...

  8. 练习:selenium 爬取京东的电脑商品100页的数据并保存到csv文件中

    练习:selenium 爬取京东的电脑商品100页的数据并保存到csv文件中 from selenium.webdriver import Chrome, ChromeOptions import t ...

  9. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

最新文章

  1. ThinkPHP多应用/多模块配置
  2. Java 分割字符串的方法String.split()底层原理
  3. python类的调用关系_JAVA 查找类的所有引用关系(python实现)
  4. QDoc支持衍生项目
  5. php中添加分类的界面设计,zblog php新增自定义分类模板和文章模板
  6. POJ - 2135 Farm Tour(最小费用最大流)
  7. python MySQL 插入Elasticsearch
  8. mysql5.6主从参数详解
  9. 尽力去帮助一个陌生人
  10. JavaScript基础知识必知!
  11. 域控 只能访问特定网址_开发人员需要了解的特定于域的语言
  12. 01-09 Linux三剑客-awk
  13. 【转】 Apache分析脚本
  14. ConcurrentHashMap的使用场景
  15. Game Center
  16. Effective Scala
  17. AssertJ使用教程(一)
  18. 大鹏教育视频下载(手动操作)
  19. 可由线性表示且表达式唯一_设3维向量 问:当λ取何值时, (1)β可由α1,α2,α3线性表出,且表达式唯一. (2)β可由α1,α2,α3线性表出,但...
  20. Mozilla准备推付费版Firefox浏览器

热门文章

  1. 【白板动画制作软件】万彩手影大师教程 | 如何在已有元素中添加新元素对象
  2. 《注册测绘师制度暂行规定》有关问题解读
  3. Android之收银机称重和打印及抹零
  4. java歌唱比赛冠亚军_歌手历届冠军盘点 这是一档歌唱竞演类真人秀节目
  5. k8s之external-etcd集群管理
  6. matlab方阵最小余子式,已知四阶方阵A的行列式的第三列元素为-1,2,0,1,它们的余子式的值依次为-2,-5,-9,4,则|A|=______....
  7. 锁相环 CD4046 的应用
  8. mysql thd_MySQL核心类THD介绍之user_connect
  9. 高层论坛︱王家耀院士:“互联网+”时空大数据与智慧城市(3)
  10. php实现crc16算法