月光魔草

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

准备工作:

安装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文件有多个矩阵,可以添加命名方式读取指定矩阵

 

 

 

posted on 2021-04-03 18:15  月光魔草  阅读(2036)  评论(0编辑  收藏  举报