VBAマクロを記述せずに、Excelのセル上でユーザ定義MATLAB関数を実行するにはどうすればよいですか?
8 ビュー (過去 30 日間)
古いコメントを表示
Spreadsheet Link EXで、VBAマクロを記述せずに、Excelのセル上からユーザ作成のMATLAB関数を呼び出すにはどうすればよいですか?
採用された回答
MathWorks Support Team
2010 年 1 月 27 日
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 を使ってスプレッドシートに出力します。
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Export to MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!