Matlab 如何将值传递给mex文件

Matlab 如何将值传递给mex文件,matlab,mex,Matlab,Mex,嗨,我想从我的matlab发送一个值到我的mex函数。该值通常约为10位,我使用了无符号长数据类型 但是我很难从mexfile访问它。 mxGetPr返回双类型,所以我必须进行一些类型转换吗?是的,我刚刚遇到了这个问题。一般来说,您不应该再使用mxGetPr。更好的方法是首先检查类型,如下所示: if(!mxIsClass(prhs[0],"double")) { mexErrMsgTxt("Data must be of type double!!!\n"); } 然后通过(doub

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

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

是的,我刚刚遇到了这个问题。一般来说,您不应该再使用
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])

您可以查阅
mxiclass
mxGetData
了解更多信息


编辑:

这是一个浮点值,所以将其存储为浮点值