我正在使用MATLAB Builder NE从C#运行一些MATLAB函数。
我有一个MATLAB 1行,从我的包装dll返回的n列向量为MWArray
,维度为1,n。
从中获取C#double[]
数组的最简单方法是什么?无论我做什么,我似乎得到更多MWArrays
。
答案 0 :(得分:3)
这取决于你考虑跳过篮球。我认为您需要转换为MWNumericArray
,MWLogicalArray
或MWCharArray
之一,并使用ToArray
方法演示here。假设您有一个名为MWArray
的{{1}}:
aMW
如Patrick所述,使用ToVector()
代替double[,] ad = (double[,]) ((MWNumericArray) aMW).ToArray(MWArrayComponent.Real);
来获取向量而不是2d数组。
答案 1 :(得分:0)
如果使用兼容版本的MWArray,则可以尝试使用我创建的MWArray扩展名nuget package。
仅通过通用方法ToArray<T>
即可将类型转换为'T'类型的数组。就您而言,double[] result = aMW.ToArray<double>()
。