如何将值传递给mex文件

时间:2011-06-17 16:22:21

标签: matlab mex

您好我想从我的matlab发送一个值到我的mex函数。该值通常约为10位数,我使用的是无符号长long数据类型。

但是我很难从mexfile访问它。 mxGetPr返回double类型,所以我必须做一些类型转换吗?

1 个答案:

答案 0 :(得分:0)

是的,我刚遇到这个。你不应该再使用mxGetPr了。更好的方法是首先检查这样的类型:

if(!mxIsClass(prhs[0],"double"))
{
    mexErrMsgTxt("Data must be of type double!!!\n");
}

然后通过(double *)mxGetData(prhs[0])或您的案例(unsigned long long int*)mxGetData(prhs[0])

访问数据

您可以查看mxIsClassmxGetData了解详情。

修改:Also here's a list of the different types for mxIsClass