メインコンテンツ

engOpen (C)

MATLAB エンジン セッションの開始

C 構文

#include "engine.h"
Engine *engOpen(const char *startcmd);

説明

engOpen は、MATLAB® を計算エンジンとして使用するための MATLAB プロセスを開始します。

Windows プラットフォーム

engOpen はデスクトップなしで MATLAB を起動します。

この関数は MATLAB への COM チャネルを開きます。インストール中に登録した MATLAB ソフトウェアが起動します。インストール中に登録しなかった場合は、COM サーバーとしての MATLAB の登録を参照してください。

UNIX プラットフォーム

UNIX® システムでは、engOpen は以下を行います。

  1. 2 つのパイプを作成します。

  2. 新しいプロセスを分岐します。MATLAB (親) ソフトウェアからエンジン プログラム (子) 内の 2 つのファイル記述子に stdinstdout を渡すようにパイプを設定します。

  3. MATLAB ソフトウェアを実行するコマンド (リモート実行の場合は rsh) を実行します。

メモ

C++ 用の MATLAB エンジン API の matlab::engine::startMATLABengOpen よりも推奨されます。C++ 用の MATLAB エンジン API には、エンジン アプリケーションを作成するための最新の C++ 機能が含まれています。詳細については、C++ からの MATLAB の呼び出しを参照してください。engOpen や C 用のエンジン API を削除する予定はありません。

入力引数

すべて展開する

MATLAB の起動コマンド。const char * として指定します。

Windows® システムでは、startcmd 文字列は NULL でなければなりません。

UNIX システムでは、次のようになります。

  • startcmdNULL または空の文字列の場合、engOpen はコマンド matlab を使用して現在のホストで MATLAB プロセスを開始します。startcmdhostname である場合、engOpen は指定されている hostname 文字列をより大きな文字列に組み込むことで、指定されたホストで MATLAB プロセスを開始します。

    "rsh hostname \"/bin/csh -c 'setenv DISPLAY\ 
    	hostname:0; matlab'\""
    
  • startcmd が他の文字列 (空白、または英数字以外の文字を含む) である場合、MATLAB は文字列を文字どおりに実行します。

出力引数

すべて展開する

MATLAB エンジンへのハンドル。Engine * として指定します。開けなかった場合、関数は NULL を返します。

Windows での C からの MATLAB エンジン関数の呼び出し

次の C コードでは、Windows システムで C プログラムから MATLAB エンジン関数を呼び出す方法を示します。

 engwindemo.c

Linux または macOS での C からの MATLAB エンジン関数の呼び出し

次の C コードでは、Linux® または macOS システムで C プログラムから MATLAB エンジン関数を呼び出す方法を示します。

 engdemo.c

バージョン履歴

R2006a より前に導入