https://jp.mathworks.com/matlabcentral/answers/92454-c-mex-s-function#answer_101805
S-Functionパラメータに配列を渡す方法として上記のQAを参照させていただきましたが、
私の環境ではmxGetPr()で取得できるp[0]ポインタがp[3]の位置を表してしまいp[3]以外のデータにアクセスすることができません。
私が試した環境は以下の通りです。 MATLAB R2013b
・ワークスペースに作成した配列の要素の型:double
・配列の要素は整数のみ設定(3×4の配列に1~12などを設定)
・配列のサイズを変えてもmxGetPr()で取得できるのは必ず最後の要素のポインタ
また、調査のためssGetSFcnParamで取得したMATLAB配列を引数に以下の関数を実施した結果は以下の通りです
mxGetNumberOfDimensions → 2
mxGetDimensions → 1
mxGetNumberOfElements → 1
mxGetM → 1
mxGetN → 1
配列の最後の要素が取得されてしまう原因として考えられることがありましたらご回答いただきますようお願い致します。
Best Answer