matlab和C#混合编程,C#如何读取matlab函数返回的矩阵

在matlab中m文件中写一个函数返回一个矩阵,在C#中怎么读取该矩阵中的值?

用二维数组接收

https://www.cnblogs.com/arxive/p/6336756.html


           int[,] list ={{1},{2},{3},{4}}; //列向量

            MWArray array = new MWNumericArray(list);

            CalcMatResultNative.Multiply multi = new Multiply();
            object resultObj = multi.GetSelfMultiplyResult(3, array);// 3 表示返回的结果数量,要小于等于matlab对应函数实际的返回值数量
            object[] resultObjs = (object[]) resultObj;

            double[,] calcResult = (double[,])resultObjs[0];
            double[,] sizem = (double[,])resultObjs[1];
            double[,] sizen = (double[,])resultObjs[2];
  1. 使用matlab将该函数包装,生成一个C#类型的dll
  2. 按c#静态或动态调用方法调取函数

以上是我们在项目中使用的方法,实际上,matlab还可以输出c++等类型的dll