矩阵转换示例用于将matlab的返回值矩阵传递到C#规范的矩阵中MWArray[]ResOut=null;//用于值输出的matlab矩阵
ResOut=GTN.GetMatchNo(1,MainAdd,ModelAdd,FName.GTM(),Vaval);MWNumericArraytemp=(MWNumericArray)ResOut[0];//矩阵转换
ArraynetInterfaceMatrix=temp.ToArray(MWArrayComponent.Real);//c#规范的矩阵double[,]location=(double[,])netInterfaceMatrix;//变态的强制类型转换
其中"矩阵转换"部分有问题。我已经做如下修正://定义数组部分
MWNumericArrayk=null;//Thematrixtok(传入的多维数组)MWNumericArrayl=null;//Thematrixtol(传入的一维数组)MWNumericArrayt=3;//传入的常数
MWArrayargOut=null;//Storessinglefactorizationresult接受的结果MWArray[]argsOut=null;//StoresmultiplefactorizationresultsboolmakeSparse=true;k=(makeSparse)
MWNumericArray.MakeSparse(M,N,MWArrayComplexity.Real,(M*N))
newMWNumericArray(MWArrayComplexity.Real,MWNumericType.Double,M,N);l=(makeSparse)
MWNumericArray.MakeSparse(1,N,MWArrayComplexity.Real,N)
newMWNumericArray(MWArrayComplexity.Real,MWNumericType.Double,1,N);//调用matlab程序
argOut=myclass.mybint((MWArray)k,(MWArray)l,t);//调用matlab算法//数据转换成C#标准形式
MWNumericArraytemp=(MWNumericArray)argOut;
double[,]location=(double[,])temp.ToArray(MWArrayComponent.Real);//转换后的location就可以在C#语言中使用了