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!