C# 使用Math.NET读取mat格式文件内容

本文详细介绍MATLAB的mat文件格式,包括其基于HDF的数据存储特性,以及如何在.NET环境中利用MathNet.Numerics.Data.Matlab组件进行正确引用和读写操作。文章提供了在Visual Studio中安装和配置所需库的具体步骤,以及读取mat格式文件中矩阵数据的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前序知识

1、mat格式

Mat文件格式,实际上使用的是一种通用的数值数据存储格式Hierarchical Data Format(HDF),该格式最先是由美国国家超级计算应用中心开发的,后来由HDF非盈利组织资助。LabVIEW,MATLAB,Scilab,Octave,Mathematica等都支持该格式,该格式目前主要有HDF4和HDF5。

2、Mat数据格式读写的组件是MathNet.Numerics.Data.Matlab,Mat数据格式的读取主要用MatlabReader类

二、正确引用

MathNet.Numerics.Data.Matlab

安照之前从网上直接找MathNet.Numerics.dll文件,然后再引用

using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.Data.Matlab;

会出现 缺少MathNet.Numerics.Data.Matlab错误

正确方法:通过安装.nupkg文件来正确引用

注意要使用VS较高版本的,本人使用VS2017

1、准备两个库文件

 下载地址

下载地址下载地址

注意:MathNet.Numerics.Data.Matlab的版本不要太高,笔者使用4.0的版本 ,出现在vs2017下无法安装的情况。

2、VS里面安装NuGet管理器

即要安装工具箱里的如下应用,如果已经安装过,则跳过这一步

(1)点击工具-扩展和更新

 

 (2)搜索并安装NuGet Package Project 

 3、打开一个工程

需要先添加一个程序包源,即添加自己下载的.nupkg文件存放的路径

工具-选项

 4、回到NuGet解决方案,安装.nupkg

此时会在自己设置的路径下生成两个dll文件

之后可以正常引用了。

三、读取mat格式文件内容

//从collection.mat文件中,读取第一个double矩阵
 Matrix<double> m = MatlabReader.Read<double>("collection.mat");

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值