最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Python からの MATLAB 関数の呼び出し

MATLAB 関数から出力引数を返す

MATLAB® 関数は、直接呼び出して、その結果を Python® に返すことができます。たとえば、数値が素数であるかどうかを判別する場合は、エンジンを使用して関数 isprime を呼び出します。

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
True

MATLAB 関数から複数の出力引数を返す

エンジンを使用して関数を呼び出すと、既定ではそのエンジンは単一の出力引数を返します。関数が複数の引数を返すことができるとわかっている場合、nargout 引数を使用して出力引数の数を指定します。

2 つの数値の最大公約数を判別するには、関数 gcd を使用します。gcd から 3 個の出力引数を返すように nargout を設定します。

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
(20.0, 1.0, -1.0)

MATLAB 関数から出力引数を返さない

MATLAB 関数の中には出力引数を返さないものがあります。関数から引数が返らない場合、nargout を 0 に設定します。

Python から MATLAB のヘルプ ブラウザーを開きます。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)

MATLAB 関数 doc はブラウザーを開きますが、出力引数は返しません。nargout=0 を設定しない場合、エンジンはエラーを発生します。

関数の実行の停止

MATLAB 関数の実行を停止するには、Ctrl+C を押します。制御が Python に戻ります。

参考

|

関連するトピック