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

被折叠的 条评论
为什么被折叠?



