mexファイルに値を渡す方法

matlab mex
mexファイルに値を渡す方法

こんにちは、matlabからmex関数に値を送信します。 値は一般に約10桁の長さで、符号なしlong longデータ型を使用しました。

しかし、mexfileからアクセスするのは困難です。 mxGetPrはdouble型を返すため、何らかの型変換が必要ですか?

  1  0


ベストアンサー

はい、私はちょうどこれに遭遇しました。 通常、 `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])`を使用します。

詳細については、「mxIsClass」と「mxGetData」を参照してください。

編集:http://www.mathworks.com/help/techdoc/apiref/mxisclass.html [こちらも `mxIsClass`のさまざまなタイプのリストです]

0


タイトルとURLをコピーしました