Python
 Computer >> コンピューター >  >> プログラミング >> Python

MATLABからPython関数を呼び出すにはどうすればよいですか?


PythonライブラリがMATLABで利用できるようになりました(2014b以降)。バージョン2014b以降を使用している場合は、MATLABでコードを直接実行できます。

これにより、MATLABでPythonモジュールを使用できるようになります。他に変更を加えることなく、使用するPythonライブラリ名の前に「py」を付けるだけです。例としてPythonカレンダーモジュールを使用してみましょう。

py.calendar.isleap(2016);
py.calendar.isleap(2017);

出力

ans =1
ans = 0

独自の関数を実行するために、現在のMATLAB作業ディレクトリにファイルを作成できます。次の2行を含む「hello.py」というファイルを作成したとします。

def world():
    return 'hello world';

#MATLABでは、次のコマンドを実行すると、次の出力が得られます

py.hello.world();

出力

Hello world!

  1. 実行時にPython関数をどのように定義できますか?

    タイプモジュールをインポートし、その関数types.FunctionType()を次のように使用することで、Python関数を定義し、実行時に実行できます。 このコードは、示されているようにPythonプロンプトで機能します。まず、typesモジュールをインポートします。次に、コマンドdynf=…;を実行します。次に、関数dynf()を呼び出して、次のような出力を取得します >>> import types >>> dynf = types.FunctionType(compile('print "Really Works"&#

  2. Python関数をオーバーロードするにはどうすればよいですか?

    Pythonでは、メソッドを呼び出す方法が複数あるようにメソッドを定義できます。関数の定義に応じて、0、1、2、またはそれ以上のパラメーターを使用して呼び出すことができます。これはメソッドのオーバーロードとして知られています。 与えられたコードには、sayHello()という1つのメソッドを持つクラスがあります。以下のように書き直します。このメソッドの最初のパラメーターはNoneに設定されています。これにより、パラメーターの有無にかかわらず呼び出すオプションが提供されます。 オブジェクトはクラスに基づいて作成され、ゼロと1つのパラメーターを使用してそのメソッドを呼び出します。メソッドのオー