Spreadsheet Link EX API において、Excel のセルからユーザ定義 MATLAB 関数を呼び出す場合、次の手順にしたがって行ってください。
1. MATLAB 関数を作成。たとえば、ここでは、myMLFcn.m とします。
2. 上記の MATLAB 関数を MATLAB のスタートアップパス上のディレクトリに置くか、あるいは、スタートアップのディレクトリを含んでいる MATLAB スタートアップファイルの1つにコマンドを追加します。たとえば、MATLABRC.m の最後に次のように追加します。
addpath '$MATLAB_FUNCTION_ROOT'
ここで、$MATLAB_FUNCTION_ROOTは、上記 1. で作成した MATLAB 関数を含むディレクトリです。これにより、MATLAB を起動すると常にパスが追加されます。フルデスクトップモードでも、あるいは、COMオートメーションサーバでもこの関数は可視化されます。
3. 必要に応じて、MLPutMatrix か、あるいは等価な API を使って、データをスプレッドシートから MATLAB にエクスポートします。
4. 1. の MATLAB 関数 myMLFcn を次のように実行します。
=MLEvalString("[y1, y2, ...] = myMLFcn(x1, x2, ...)")
y1,y2,...は出力引数、x1,x2,...は入力引数です。なお、ここでは、入力引数の x1,x2,...は既に MATLAB のワークスペース上に存在すると仮定しています。
5. 必要に応じて、出力引数を MLGetMatrix か、あるいは等価な API を使ってスプレッドシートに出力します。