在C语言中返回二维数组,但是在mexfunction中无法直接定义**p指针,需要通过mxCreateDoubleMatrix去申请空间,然后分配给plhs[ ],plhs相当于matlab中function函数左边的数据,比如你左边需要返回2个值,那你就需要有plhs[0]与plhs[1] 。
plhs[0]=mxCreateDoubleMatrix(N,L, mxREAL);//申请N行L列矩阵空间
double *u=mxGetPr(plhs[0]);
for(int i=0;i<N;i++){
for(int j=0;j<L;j++){
u[j*N+i]=u_d[i][j];//传递规则,matlab中默认是按列传递的
}
}