c++ 与 Matlab 程序的数据比对

server/2025/1/24 6:43:38/

文章目录

    • 背景
    • 环境
    • 数据保存
    • 数据加载

背景

***避免数据精度误差,快速对比变量 ***

环境

c++下载 https://github.com/BlueBrain/HighFive
以及hdf5库

在vs 中配置库
在这里插入图片描述

数据保存

#include <highfive/highfive.hpp>
using namespace HighFive;std::string filename1 = "test.h5";
File file1(filename1, File::Truncate);
//保存数据
file1.createDataSet("TempMS2Mz_SubRun" , TempMS2Mz_SubRun);
matlab">% 定义 HDF5 文件路径
h5_file_path = 'example.h5';% 写入第一个数据集
data1 = rand(3, 3);
h5create(h5_file_path, '/dataset1', size(data1));
h5write(h5_file_path, '/dataset1', data1);% 写入第二个数据集
data2 = magic(4);
h5create(h5_file_path, '/dataset2', size(data2));
h5write(h5_file_path, '/dataset2', data2);disp('多个数据集已写入 HDF5 文件。');

数据加载

#include <highfive/highfive.hpp>
using namespace HighFive;std::string filename1 = "test.h5";
File file1(filename1, HighFive::File::ReadOnly);
auto dataset = file.getDataSet("grp/data");// Read back, automatically allocating:
auto data = dataset.read<std::vector<int>>();// Alternatively, if `data` has the correct
// size, without reallocation:
dataset.read(data);
matlab">% 定义 HDF5 文件路径
h5_file_path = 'example.h5';% 读取第一个数据集
data1 = h5read(h5_file_path, '/dataset1');
disp('dataset1:');
disp(data1);% 读取第二个数据集
data2 = h5read(h5_file_path, '/dataset2');
disp('dataset2:');
disp(data2);

http://www.ppmy.cn/server/160964.html

相关文章

mysql 学习3 SQL语句--整体概述。SQL通用语法,SQL语句分类

SQL通用语法 SQL语句分类 DDL data definition language : 用来创建数据库&#xff0c;创建表&#xff0c;创建表中的字段&#xff0c;创建索引。因此成为 数据定义语言 DML data manipulation language 有了数据库和表以及字段后&#xff0c;那么我们就需要给这个表中 添加数…

YOLOv9改进,YOLOv9检测头融合DSConv卷积,适合目标检测、分割任务

前言 精确分割拓扑管状结构例如血管和道路,对各个领域至关重要,可确保下游任务的准确性和效率。然而,许多因素使任务变得复杂,包括细小脆弱的局部结构和复杂多变的全局形态。在这项工作中,注意到管状结构的特殊特征,并利用这一知识来引导 DSCNet 在三个阶段同时增强感知…

LangChain + llamaFactory + Qwen2-7b-VL 构建本地RAG问答系统

单纯仅靠LLM会产生误导性的 “幻觉”&#xff0c;训练数据会过时&#xff0c;处理特定知识时效率不高&#xff0c;缺乏专业领域的深度洞察&#xff0c;同时在推理能力上也有所欠缺。 正是在这样的背景下&#xff0c;检索增强生成技术&#xff08;Retrieval-Augmented Generati…

Linux 高级路由与流量控制-用 tc qdisc 管理 Linux 网络带宽

大家读完记得觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 此分享内容比较专业&#xff0c;很多与硬件和通讯规则及队列&#xff0c;比较底层需要有技术功底人员深入解读。 Linux 的带宽管理能力 足以媲美许多高端、专用的带宽管理系统。 1 队列&#xff0…

vue2的$el.querySelector在vue3中怎么写

这个也属于直接操作 dom 了&#xff0c;不建议在项目中这样操作&#xff0c;不过我是在vue2升级vue3的时候遇到的&#xff0c;是以前同事写的代码&#xff0c;也没办法 先来看一下对比 在vue2中获取实例是直接通过 this.$refs.xxx 获取绑定属性 refxxx 的实例&#xff0c;并且…

流媒体服务器选择以及评估

让我为您分析几个主流的流媒体服务器方案&#xff1a; 1. **Nginx-RTMP** 优势&#xff1a; - 轻量级&#xff0c;资源占用少 - 配置简单&#xff0c;易于部署 - 支持RTMP/HLS/DASH - 高并发性能好 - 免费开源 劣势&#xff1a; - 功能相对基础 - 缺乏管理界面 - 监控功能有…

Java设计模式 十三 代理模式 (Proxy Pattern)

代理模式 (Proxy Pattern) 代理模式是一种结构型设计模式&#xff0c;它为其他对象提供一种代理&#xff08;或占位符&#xff09;以控制对该对象的访问。通过代理模式&#xff0c;我们可以在不修改目标对象的情况下&#xff0c;控制对其的访问&#xff0c;添加额外的功能&…

基于STM32的智能门锁安防系统(开源)

目录 项目演示 项目概述 硬件组成&#xff1a; 功能实现 1. 开锁模式 1.1 按键密码开锁 1.2 门禁卡开锁 1.3 指纹开锁 2. 功能备注 3. 硬件模块工作流程 3.1 步进电机控制 3.2 蜂鸣器提示 3.3 OLED显示 3.4 指纹与卡片管理 项目源代码分析 1. 主程序流程 (main…