1
私は唯一の出力引数で呼び出されたときに正常に動作しますMEXファイルを作成しているが、複数で呼び出されたとき、それは私に次の出力が得られます。メックスファイル出力(1以上)
? ?? ==> mtimesを使用したエラー出力引数が多すぎます。
次に示すようにIは、MEX関数の出力引数を管理:
次のように呼ばvoid mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[]) {
mxArray *FirstTerm,*SecondTerm,*ThirdTerm,..
....
FirstTerm = mxCreateDoubleMatrix(N,M,mxCOMPLEX);
FirstTermRe = mxGetPr(FirstTerm);
FirstTermIm = mxGetPi(FirstTerm);
SecondTerm = mxCreateDoubleMatrix(N,M,mxCOMPLEX);
SecondTermRe = mxGetPr(SecondTerm);
SecondTermIm = mxGetPi(SecondTerm);
ThirdTerm = mxCreateDoubleMatrix(N,M,mxCOMPLEX);
ThirdTermRe = mxGetPr(ThirdTerm);
ThirdTermIm = mxGetPi(ThirdTerm);
....
....
plhs[0] =FirstTerm;
plhs[1] =SecondTerm;
plhs[2] =ThirdTerm;
}
:
function_mex(input_arguments)
それは単一の出力変数を生成します。次のように、2つの出力引数で呼び出された場合
:
[x,y]=function_mex(input_arguments)
それは私にメッセージ与える:
を??? ==> mtimesを使用したエラー出力引数が多すぎます。
なぜこのエラーが発生するのか分かりません。これは、以前私がmexファイルで行ったやり方で、正しく動作しました。
誰でも助けてもらえますか?