This question already has an answer here:
Using mxGetPr vs mxGetData
                                
                                    (1个答案)
                                
                        
                                2年前关闭。
            
                    
在下面的代码段中,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++)
           D[i] = mxGetPr(prhs[3])[i];
    }

最佳答案

#include "matrix.h"
double *mxGetPr(const mxArray *pm);



  指向实际数据的第一个元素的指针。如果没有实际数据,则在C中返回NULL(在Fortran中为0)。


https://www.mathworks.com/help/matlab/apiref/mxgetpr.html

10-08 14:44