チートシート

MATLAB からの Python の呼び出し

本リファレンスでは、よくあるユースケースを紹介していますが、すべてを掲載しているわけではありません。

MATLAB で Python を強化

MATLAB の高度なツールを Python ワークフローに直接統合します。

設定

要件

MATLAB から Python® を呼び出すには、両方がシステムにインストールされている必要があります。

構成

Python インタープリターの設定とステータスにアクセス:

>> pe = pyenv 

使用バージョンを指定:

>> pe = pyenv("Version","3.9") 

PYTHONHOME 環境変数が Python のバージョンと一致していることを確認します。MATLAB にその値を表示:

>> getenv("PYTHONHOME") 

適切なバージョンがシステムパスに含まれていることを確認:

>> getenv("PATH")

MATLAB で Python コードを実行

ライブエディター タスク

[Python コードの実行] タスクで、Python コードまたはファイルを対話的に実行してから、コードを生成できます。

Python ステートメントの呼び出し

数行のコードを実行:

>> outvars = pyrun(code,outputs) 
>> x = pyrun("a = b*c","a", b = 5, c = 10)

Python スクリプトの呼び出し

スクリプトで構成されたコードを実行:

>> outvars = pyrunfile(file,outputs) 

Python モジュールと関数の呼び出し

>> py.module_name.function_name 
>> x = py.math.sqrt(42) 

キーワード引数を渡す

直接呼び出すか pyargs を使用:

>>> foo(5,bar=42) 
>> py.foo(5,bar=42) 
>> py.foo(5,pyargs('bar',42)) 

モジュールの再読み込み

更新後のモジュールを再読み込み:

>> py.importlib.reload(module)

データ型の変換

データ型は、可能な場合は自動的に変換されます。

MATLAB Python
Double, single Float
complex single
complex double
Complex
(u)int8, (u)int16, (u)int32, (u)int64 int
NaN Float(nan)
Inf Float(inf)
String, car Str
Logical Bool
Dictionary dict
Struct dict
Table Py.pandas.dataframe
Datetime Py.datetime.datetime
Duration Py.datetime.timedelta

データサイエンス ライブラリ

Apache Parquet

Apache® Parquet を使用すると、データを効率的に転送できます。

MATLAB から:

>> tbl = parquetread(fname)
>> parquetwrite(tbl,fname) 

Python から:

>>> df = pandas.read_parquet(fname) 
>>> pandas.Dataframe.to_parquet(df) 

ディープラーニング

TensorFlow、PyTorch®、ONNX に対応したインポーターを使用して MATLAB のモデルにアクセスします。

>> net = importKerasNetwork(model)

Python と Simulink の統合

Python インポーターを使用すると、Python モジュールやパッケージを Simulink にインポートできます。

インポーターを開く:

>> obj = Simulink.PythonImporter(); 
>> obj.view(); 

MATLAB Function ブロックと MATLAB System ブロック

MATLAB Function ブロックまたは MATLAB System ブロックを使用して Simulink に Python モジュールを実装します。