c与MATLAB混合编程mxArray矩阵赋值
在MATLAB⾥边定义 a = [1, 4, 2; 3, 2, 0];
在C语⾔等效定义是
double a[2][3] = { 1, 3, 4, 2, 2, 0 };//c语⾔的数组在内存⾥边是按⾏依次存储的,⽽MATLAB的mxArray是按列依次存储的mxArray *xxA = mxCreateDoubleMatrix(2, 3, mxREAL);//定义⼀个2⾏3列的矩阵
matlab数组赋值memcpy((void*)mxGetPr(xxA), (void*)a, sizeof(a));//拷贝
engPutVariable(ep, "a", xxA);//在MATLAB定义a