• 大小: 24.86MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-07
  • 语言: C#
  • 标签: .mat文件  C#  csmatio  读取  

资源简介

C#读取matlab生成的.mat矩阵数据文件。目前找到的比较简单的调用方式,简单几行代码就能实现需求,代码中实现了对二维三维以及四维矩阵.mat格式文件的读取以及创建。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using csmatio.io;
using csmatio.types;
//using MathNet.Numerics.LinearAlgebra;
//using MathNet.Numerics.Data.Matlab;
//using MathNet.Numerics.LinearAlgebra.Double;
namespace ConsoleApp6
{
    class Program
    {
        //static double[] squares;
        //static Single[] squares;
        static void Main(string[] args)
        {
            #region 创建二维矩阵
            //double[][] data3x3 = new double[3][];
            //data3x3[0] = new double[] { 100.0 101.0 102.0 }; // first row
            //data3x3[1] = new double[] { 200.0 201.0 202.0 }; // second row
            //data3x3[2] = new double[] { 300.0 301.0 302.0 }; // third row


            //MLDouble mlDoubleArray = new MLDouble(“Matrix_3_by_3“ data3x3); //创建matlab 二维矩阵变量

            //List mlList = new List();
            //mlList.Add(mlDoubleArray);
            //MatFileWriter mfw = new MatFileWriter(“data.mat“ mlList false);

            #endregion

            #region 创建三维矩阵

            //// 初始化三维矩阵,设置维度
            //int[] dims = new int[] { 2 2 2 };
            //MLDouble array3Dim = new MLDouble(“cube“ dims);

            //array3Dim.Set(1 0 0);
            //array3Dim.Set(2 1 0);
            //array3Dim.Set(3 0 1);
            //array3Dim.Set(4 1 1);
            //array3Dim.Set(5 0 2);
            //array3Dim.Set(6 1 2);
            //array3Dim.Set(7 0 3);
            //array3Dim.Set(8 1 3);

            //List mlList = new List();
            //mlList.Add(array3Dim);
            //MatFileWriter mfw = new MatFileWriter(“data2.mat“ mlList false);


            /*
             A: Once you created the 3D array then use: array.Set(value row_ind col_index).
            For example your 3D array is m*n*3:
            for 1st dimension use array.Set(value row_ind col_index);
            for 2nd dimension use array.Set(value row_ind col_index+n);
            for 3rd dimension use array.Set(value row_ind col_index+2n)             
             */

            #endregion

            #region 创建四维矩阵
            // 初始化四维矩阵,设置维度
            //int[] dims = new int[] { 5 4 3 2 };
            //MLDouble array4Dim = new MLDouble(“cube4“ dims);
            //int value = 1;
            //for (int i = 0; i < dims[3]; i++)
            //{
            //    for (int j = 0; j < dims[2]; j++)
            //    {
            //        for (int p = 0; p < dims[1]; p++)
            //        {
            //            for (int q = 0; q < dims[0]; q++)
            //            {
            //                array4Dim.Set(value++ q p + j*dims[1]+i*dims[2]*dims[1]);
            //            }
            //        }
            //    }
            //}
            //List mlList = new List();
            //mlList.Add(array4Dim);
            //MatFileWriter mfw = new MatFileWriter(“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-02-26 17:06  C#读取mat文件\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\.vs\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\
     文件      294400  2020-02-26 17:06  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\.suo
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\sqlite3\
     文件           0  2020-02-20 15:38  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\sqlite3\db.lock
     文件      671744  2020-02-26 15:38  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\sqlite3\storage.ide
     文件       32768  2020-02-26 17:06  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\sqlite3\storage.ide-shm
     文件     4148872  2020-02-26 17:06  C#读取mat文件\ConsoleApp6\.vs\ConsoleApp6\v15\Server\sqlite3\storage.ide-wal
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\ConsoleApp6\
     文件        1839  2020-02-26 10:29  C#读取mat文件\ConsoleApp6\ConsoleApp6.sln
     文件         189  2020-02-20 15:38  C#读取mat文件\ConsoleApp6\ConsoleApp6\App.config
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\
     目录           0  2020-02-26 17:05  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\
     文件        5120  2020-02-26 17:03  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\ConsoleApp6.exe
     文件       18072  2020-02-26 11:27  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\ConsoleApp6.exe.config
     文件       17920  2020-02-26 17:03  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\ConsoleApp6.pdb
     文件       45568  2018-04-22 11:52  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\csmatio.dll
     文件         185  2020-02-26 13:34  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\cube.mat
     文件         272  2020-02-26 16:57  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\data.mat
     文件        1160  2020-02-26 17:00  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\data2.mat
     文件       20480  2016-04-11 19:46  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\MathNet.Numerics.Data.Matlab.dll
     文件       18314  2016-04-11 19:46  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\MathNet.Numerics.Data.Matlab.xml
     文件     1676824  2019-10-13 13:44  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\MathNet.Numerics.dll
     文件     3695469  2019-10-13 13:44  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\MathNet.Numerics.xml
     文件       21216  2019-06-21 09:32  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\Microsoft.Win32.Primitives.dll
     文件         189  2020-02-26 13:13  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\mydata.mat
     文件       98616  2019-06-21 09:32  C#读取mat文件\ConsoleApp6\ConsoleApp6\bin\Debug\netstandard.dll
............此处省略177个文件信息

评论

共有 条评论