PythonとMATLABの連携

投稿者: | 2023年8月2日

仕事でMATLABを使うようになりいろいろ調べていくうちに、MATLABからPythonのライブラリを呼び出したり、PythonからMATLABを呼び出したりできると知って、非常に驚いた。MATLABをベースにPythonのライブラリを使いながらTrading Systemの開発を行うことができれば、いろいろなアイデアが試せそうだ。書籍「Python for MATLAB Development」を読み進めながら、いろいろな可能性を探ってみたい。

MATLABからPythonのライブラリにアクセスするには、MATLABのterminalからpythonの環境をpyenvコマンドで設定する。

>> pyenv('Version','C:\Users\neoclassicalstudy\.conda\envs\matpy\python.exe')

ans = 

  PythonEnvironment with properties:

          Version: "3.10"
       Executable: "C:\Users\neoclassicalstudy\.conda\envs\matpy\python.exe"
          Library: "C:\Users\neoclassicalstudy\.conda\envs\matpy\python310.dll"
             Home: "C:\Users\neoclassicalstudy\.conda\envs\matpy"
           Status: NotLoaded
    ExecutionMode: InProcess

python環境設定後、MATLABのterminalからある種の規則に従ってpythonのcodeを書けば、MATLABからpythonが実行可能。

res = py.list({‘Name1′,’Name2′,’Name3’})

res =

Python list with values:

['Name1', 'Name2', 'Name3']

Use string, double or cell function to convert to a MATLAB array.

res.append(‘Name4’)
res

res =

Python list with values:

['Name1', 'Name2', 'Name3', 'Name4']

Use string, double or cell function to convert to a MATLAB array.

PythonからMATLABを動かすには、pythonにmatlabengineをインストールする。仮想環境にインストールすれば、問題が起きた時にも対処しやすいだろう。MATLABとmatlabengineとのversionの整合が必要。以下のようなコードでMATLABの関数を呼び出すことができる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です