ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

このページは前リリースの情報です。該当の英語のページはこのリリースで更新されています。このリリースの英語のドキュメンテーションを参照するには、言語設定を United States に変更してください。

エンジン アプリケーションのトラブルシューティング

MATLAB エンジン メッセージを開始できない

使用しているシステムに複数のバージョンの MATLAB® がインストールされている場合、エンジン アプリケーションのビルドに使用するバージョンは、システムの Path 環境変数リストの最初になければなりません。そうなっていない場合、MATLAB は「Can't start MATLAB engine」を表示します。Path 変数の設定方法の詳細は、「Windows における実行時ライブラリ パスの設定」または「Linux および Macintosh における実行時ライブラリ パスの設定」を参照してください。

Windows® オペレーティング システムの場合、MATLAB を COM サーバーとして登録する必要もあります。複数バージョンの MATLAB がある場合、使用するバージョンは登録済みのバージョンでなければなりません。詳細は、「COM サーバーとしての MATLAB ソフトウェアの登録」を参照してください。

エンジン アプリケーションで使用される MATLAB 関数のデバッグ

エンジン アプリケーションで使用する MATLAB 関数を作成するときは、エンジン インターフェイスからその関数を呼び出す前に、MATLAB でデバッグすることをお勧めします。

エンジン アプリケーションから MATLAB エディター/デバッガーを使用することはできませんが、MATLAB ワークスペースを使用して MATLAB に渡される変数を確認できます。たとえば、次の MATLAB 関数があるとします。

function y=myfcn(x)
y=x+2;
end

次のコードに示されているように、エンジン アプリケーションは変数 mycmxarraymyfcn を呼び出します。

engPutVariable(ep, "aVar", mycmxarray);
engEvalString(ep, "result = myfcn(aVar)");
mycmxarrayResult = engGetVariable(ep,"result");

予想した結果が得られない場合は、その原因として 2 つのことが考えられます。入力 mycmxarray が正しくない、または MATLAB 関数が正しくないという可能性です。

myfcn の入力を確認するには、最初に関数を変更して MATLAB ワークスペースをファイル debugmyfcn.mat に保存します。

function y=myfcn(x)
save debugmyfcn.mat
y=x+2;
end

エンジン アプリケーションを実行し、その後、MATLAB を起動して debugmyfcn.mat を読み込みます。

load debugmyfcn.mat
whos x

変数 xmycmxarray の値を含んでいます。x が予想したものでない場合は、エンジン コードをデバッグします。x が正しい場合は、MATLAB 関数をデバッグします。myfcn をデバッグするには、MATLAB エディター/デバッガーで関数を開き、MATLAB コマンド ラインから関数を呼び出します。

myfcn(x)
この情報は役に立ちましたか?