外部インタフェース/API    

Fortran MEX-ファイルからの関数の呼び出し

API関数mexCallMATLABを使って、Fortranソースコード内からMATLAB関数、演算子、M-ファイル、他のMEX-ファイルを呼び出すことができます。つぎの例は、mxArrayを作成し、サブ関数に様々なポインタを渡してデータを取得し、mexCallMATLABを呼び出して正弦関数を計算し、結果をプロットします。

Fortran計算サブルーチン内からmexCallMATLAB(または他のAPIルーチン)を使うことができます。倍精度データをもつほとんどのMATLAB関数のみ呼び出しが可能であることに注意してください。eigのような計算を実行するM-ファンクションは、倍精度でないデータに対しては正常に動作しません。

つぎの例題を実行します。

結果を表示します。


つぎの例は、2つの変数を出力し、それらのうちの1つだけに値を割り当てるM-ファイルを作成します。

    function [a,b]=foo[c]
    a=2*c;

MATLABは、以下のワーニングメッセージを表示します。


    Warning: One or more output arguments not assigned during call
    to 'foo'.

mexCallMATLABを使ってfooを呼び出す場合、割り当てられていない出力変数は、タイプmxUNKNOWN_CLASSです。


 スパース行列の操作 アドバンスドトピックス