准備工作:
安裝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文件有多個矩陣,可以添加命名方式讀取指定矩陣