CSMatIO库的安装与C#实现.mat文件生成

发布于:2025-06-26 ⋅ 阅读:(21) ⋅ 点赞:(0)

一.CSMatIO介绍

CSMatIO 是一个用于读写 MATLAB .mat 文件的开源 C# 库,它提供了简单而高效的 API,使 .NET 应用程序能够与 MATLAB 进行数据交换,支持读取和写入 MATLAB 的 .mat 文件(版本 5 和 7.3),兼容 MATLAB 数据类型:矩阵、结构体、单元数组、字符数组等,不依赖 MATLAB Runtime,适合独立应用程序。

二.CSMatIO安装

1.通过NuGet包管理器引用(主流方式)

  右键点击项目 → 选择“管理 NuGet 程序包”→ 进入NuGet界面,搜索并安装包,

  在“浏览”选项卡输入包名(如 Newtonsof.json ) → 选择版本 一 点击“安装”自动下载依赖项。

验证安装

安装成功后,包会自动添加到项目引用中,代码可通过 using 语句引入命名空间。

2.引用外部DLL文件常用

  右键项目“引用“或“依赖项”→ 选择“添加引用”→ 切换到“浏览”选项卡 → 选择DLL文件 → 点击“确定”.

说明:一般把dll放置到本项目新建的lib目录下。  

版本兼容性检查:需确保DLL的.NET版本与当前项目兼容.

3.添加项目引用(同一解决方案内)

  确保项目在同一解决方案

在解决方案资源管理器中确认需引用的类库项目存在.

  添加引用

右键目标项目的“依赖项”或“引用”→ 选择“添加项目引用” 一 勾选目标项目 一 点击“确定”。

  代码引用

在代码中通过 using 语句引入目标项目的命名空间即可调用其类型。

4.命令行安装

  在 Visual Studio 中依次点击 工具 > NuGet 包管理器 > 程序包管理器控制台,输入以下命令并回车:

  运行命令:Install-Package CSMatIO -Version 1.0.20

  https://www.nuget.org/packages/csmatio#supportedframeworks-body-tab

三.代码测试

1.生成.mat文件

using csmatio.io;

using csmatio.types;

class MatFileCreator

{

    static void Main()

    {

        //创建二维矩阵

        double[][] data1 = new double[1][];

        data1[0] = new double[] { 100.0, 101.0, 102.0 }; // first row

        MLDouble mlDoubleArray = new MLDouble("Matrix_1", data1); //创建二维矩阵变量

        List<MLArray> mlList = new List<MLArray>();

        mlList.Add(mlDoubleArray);

        MatFileWriter mfw = new MatFileWriter("data1.mat", mlList, false);

    }

}

2. 读取二维数据

            // create a reader for the file

            MatFileReader mfr = new MatFileReader("test22.mat");

            // get a reference to our matlab 'squares' double matrix

            MLSingle mlSquares = (mfr.Content["w1"] as MLSingle);

            Single[] squares;

            if (mlSquares != null)

            {

                // now get the double values

                Single[][] tmp = mlSquares.GetArray();

                squares = tmp[0];

            }

3.官方参考demo网址

https://sourceforge.net/p/csmatio/wiki/Usage%20Examples/


网站公告

今日签到

点亮在社区的每一天
去签到