C# 操作mat格式文件


准备工作:

安装Matlab拓展包,如下两个

 

 

 读取:

Matrix<double> m2 = MatlabReader.Read<double>("1.mat");
Array testArray = m2.ToArray();

写入:

//数据准备
double[,] data_two_demo = new double[10, 10];
for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < 10; j++)
    {
        data_two_demo[i, j] = i * j;
    }
}
Matrix<double> m = DenseMatrix.OfArray(data_two_demo);
//注意,完成此操作后,如果要解决内存占用问题,可以提前释放_listData和arr的内存占用
using (FileStream fs = new FileStream($"1.mat", FileMode.Create))
{
    //特别注意保存文件时的内存占用问题
    MatlabWriter.Write(fs, m, "export");
};

参考:

https://blog.csdn.net/qq_28194303/article/details/109636474?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
https://blog.csdn.net/kenjianqi1647/article/details/89487220
https://blog.csdn.net/weixin_42974146/article/details/106674652

更新:
如果一个mat文件有多个矩阵,可以添加命名方式读取指定矩阵

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM