C++ mxGetPr返回什么?
在下面的代码段中,mxGetPr(prhs[3])[i]的实际值是多少C++ mxGetPr返回什么?,c++,matlab,mex,C++,Matlab,Mex,在下面的代码段中,mxGetPr(prhs[3])[i]的实际值是多少 void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { int *D = new int[100]; // prhs[3] is a 10x10 matrix containing floating point value for (int i=0; i<100; i
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int *D = new int[100];
// prhs[3] is a 10x10 matrix containing floating point value
for (int i=0; i<100; i++)
D[i] = mxGetPr(prhs[3])[i];
}
void-mexFunction(int-nlhs,mxArray*plhs[],int-nrhs,const-mxArray*prhs[])
{
int*D=新的int[100];
//prhs[3]是包含浮点值的10x10矩阵
对于(int i=0;i
指向实际数据的第一个元素的指针。如果没有实际数据,则在C中返回NULL(Fortran中为0)
什么是mxGetPr
以及它返回什么?试试std::cout它返回一个void*
类型,强制转换为double*
。您需要检查它是一个double类还是一个使用mxidouble
或mxiclass
的类。
#include "matrix.h"
double *mxGetPr(const mxArray *pm);