使用C ++ mex函数在matlab中获取double类型的输出

时间:2015-11-09 08:59:10

标签: c++ matlab mex

if(songObject.albumArtURI != null){

        File f = new File(songObject.albumArtURI);

        Picasso.with(viewHolder.albumArt.getContext())
                .load(f)
                .placeholder(R.drawable.grayalbumart)
                .into(viewHolder.albumArt);
    } else {

        Picasso.with(viewHolder.albumArt.getContext())
                .load(songObject.albumArtURI)
                .placeholder(R.drawable.grayalbumart)
                .into(viewHolder.albumArt);
    }

从上面的代码我一直在计算我的RBM输入矩阵的重建错误,我需要使用mexFunction在matlab中检索它。但仍然在努力如何将我的变量错误中的存储数据指向plhs [1]。

1 个答案:

答案 0 :(得分:0)

看起来你错过了两件事:

plhs[0] = mxCreateDoubleMatrix(Dim1, Dim2, mxREAL);

c中的数组是0索引的,因此对于返回的第一个项应该是plhs [0]。要复制错误数据:

memcpy(mxGetPr(plhs[0]), error, Dim1*sizeof(double));