VBAマクロを記述せずに、Excelのセル上でユーザ定義MATLAB関数を実行するにはどうすればよいですか?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Spreadsheet Link EXで、VBAマクロを記述せずに、Excelのセル上からユーザ作成のMATLAB関数を呼び出すにはどうすればよいですか?
Réponse acceptée
MathWorks Support Team
le 27 Jan 2010
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Export to MATLAB dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!