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