C Matlab Mex 网关文件,打印 phrs
C Matlab Mex gateway file, printing phrs
我想将 phrs 的值打印到终端并检查它们的数据类型。我以为我得到了第一部分:
mexPrintf("Value: %d\n",prhs[0]);
但这给了我垃圾。我错过了什么? (可能很明显)有没有办法检查数据类型并打印出来?
要检查 prhs 日期类型,我想你可以使用 mxGetClassName(prhs[0])
。要打印它的值,您需要再次取消引用它,我没记错。例如:
double* data = mxGetPr(prhs[0]);
mexPrintf("Value: %f\n",data[0]);
注意,mxGetPr,returns 指向 double 的指针,因此在此示例中将其保留。
prhs
是指向与您的输入相对应的 mxArray
的指针数组。
根据您输入的类型,您可以使用:
- 如果您的输入是标量:
double input = mxGetScalar(prhs[0]);
printf("Value: %f\n",input);
- 如果您的输入是数组:
double* input = mxGetPr(prhs[0]);
printf("Value: %f\n",input[0]);
获取指向值数组的指针,但这里我们只打印第一个值。您可以使用 mxGetDimensions()
获取数组的维度。
我想将 phrs 的值打印到终端并检查它们的数据类型。我以为我得到了第一部分:
mexPrintf("Value: %d\n",prhs[0]);
但这给了我垃圾。我错过了什么? (可能很明显)有没有办法检查数据类型并打印出来?
要检查 prhs 日期类型,我想你可以使用 mxGetClassName(prhs[0])
。要打印它的值,您需要再次取消引用它,我没记错。例如:
double* data = mxGetPr(prhs[0]);
mexPrintf("Value: %f\n",data[0]);
注意,mxGetPr,returns 指向 double 的指针,因此在此示例中将其保留。
prhs
是指向与您的输入相对应的 mxArray
的指针数组。
根据您输入的类型,您可以使用:
- 如果您的输入是标量:
double input = mxGetScalar(prhs[0]);
printf("Value: %f\n",input);
- 如果您的输入是数组:
double* input = mxGetPr(prhs[0]);
printf("Value: %f\n",input[0]);
获取指向值数组的指针,但这里我们只打印第一个值。您可以使用 mxGetDimensions()
获取数组的维度。