【问题标题】:How to pass values to mex files如何将值传递给 mex 文件
【发布时间】:2011-06-17 16:22:20
【问题描述】:

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

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

【问题讨论】:

  • 它是一个浮点值,所以存储它

标签: matlab mex


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多