【发布时间】:2017-12-19 06:38:51
【问题描述】:
我创建了这个 MEX 函数,它接受如下参数:
toSolve(domain, model.one, model.two, model.three, model.four, bc, model.T, model.dt, [start model.five])
其中model 是一个 MATLAB struct,其中包含矩阵 one、two、three、five,以及一个具有三个矩阵的 1x3 单元格 four。
每个矩阵都很大 (~500,000 x 3)。当我将数据传递到 mex 函数(即toSolve)时,加载需要很长时间。在我的 mex 函数中,第一行是打印输出:
void
mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
/* Start */
mexPrintf("\n About to start");
//CODE//
}
打印该行About to start 需要很长时间。代码本身运行得非常快。我不确定为什么将数据传递到 mex 需要很长时间?我做错了什么?
【问题讨论】: