このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
C からの MATLAB の呼び出し
mxArray
を使用して C プログラムから MATLAB® コードを実行する
メモ
C 用のエンジン API 内の関数は、C 行列 APIで定義される MATLAB mxArray
データ構造体と連携して動作します。最新の C++ 機能を使用してアプリケーションを作成するには、C++ からの MATLAB の呼び出しを参照してください。
エンジン アプリケーションとは、独自の C/C++ プログラムから MATLAB を呼び出し、MATLAB を計算エンジンとして使用できるスタンドアロン プログラムです。エンジン アプリケーションをビルドするには、関数 mex
を呼び出します。
エンジン アプリケーションを使用するには MATLAB がインストールされている必要があります。マシンに MATLAB Runtime しかない場合は MATLAB エンジンを実行できません。
C 用のエンジン API
Engine | MATLAB エンジンの型 |
engOpen | MATLAB エンジン セッションの開始 |
engOpenSingleUse | 共有されない単独使用のための MATLAB エンジン セッションの開始 |
engClose | MATLAB エンジン セッションの終了 |
engEvalString | 文字列内の式の評価 |
engGetVariable | MATLAB エンジン ワークスペースからの変数のコピー |
engPutVariable | MATLAB エンジン ワークスペースへの変数の配置 |
engGetVisible | MATLAB エンジン セッションの可視性の判断 |
engSetVisible | MATLAB エンジン セッションの表示または非表示 |
engOutputBuffer | MATLAB 出力のバッファーの指定 |
トピック
エンジン アプリケーションの作成
- mxArray を使用した C エンジン アプリケーションの作成
C エンジン アプリケーションのビルドを開始する方法。 - C および Fortran 用 MATLAB エンジン API
MATLAB を計算エンジンとして使用して、MATLAB を独自の C プログラムおよび Fortran プログラムから呼び出します。 - C アプリケーションからの MATLAB 関数の呼び出し
C エンジン アプリケーションengdemo.c
を作成します。 - 既存の MATLAB セッションへの接続
この例では、エンジン プログラムを既に実行中の MATLAB セッションに接続する方法を説明します。 - アプリケーション内のコールバック
ベース ワークスペースのコンテキストで評価されるユーザー インターフェイス コールバックを設計します。
Windows アプリケーションのビルドと実行
- Windows システムにおけるランタイム ライブラリ パスの設定
実行時に環境変数Path
を設定して、API 共有ライブラリがある場所をオペレーティング システムに対して指定します。 - Windows エンジン アプリケーションのビルド
この例では、C の例engwindemo.c
を使用して Windows® プラットフォーム上でビルド プロセスを検証する方法を説明します。 - Windows エンジン アプリケーションの実行
この例では、C のサンプルengwindemo.c
を Windows システム プロンプトから実行する方法を説明します。 - COM サーバーとしての MATLAB の登録
すべてのセッションで MATLAB を登録して、現在使用している MATLAB バージョンが必ず登録されるようにします。
Mac アプリケーションのビルドと実行
- macOS システムにおけるランタイム ライブラリ パスの設定
環境変数DYLD_LIBRARY_PATH
を設定して、API 共有ライブラリがある場所をオペレーティング システムに対して指定します。 - macOS でのエンジン アプリケーションのビルド
この例では、macOS プラットフォーム上でビルド プロセスを検証する方法を説明します。 - macOS でのエンジン アプリケーションの実行
この例では、C の例engdemo.c
を macOS ターミナル ウィンドウから実行する方法を説明します。
Linux アプリケーションのビルドと実行
- Linux システムにおけるランタイム ライブラリ パスの設定
環境変数LD_LIBRARY_PATH
を設定して、API 共有ライブラリがある場所をオペレーティング システムに対して指定します。 - Linux でのエンジン アプリケーションのビルド
この例では、Linux® プラットフォーム上でビルド プロセスを検証する方法を説明します。 - Linux でのエンジン アプリケーションの実行
この例では、C の例engdemo.c
を Linux のシステム プロンプトから実行する方法を説明します。
統合開発環境でのビルド
- IDE を使用したエンジン アプリケーションのビルド
エンジン アプリケーションをビルドするための統合開発環境の設定に関するヒント。
トラブルシューティング
MATLAB エンジンが実行されない場合の対処方法。
C エンジンによって呼び出される MATLAB 関数のデバッグ
エンジン アプリケーションで使用される MATLAB 関数の検証方法。
ユーザーとの対話を行う一部の MATLAB 関数は、エンジン アプリケーションではサポートされていません。
MATLAB ライブラリは、スレッドセーフではありません。