Pythonを使用してMATLABコードを実行しようとしています(python 3.6を使用しています)。
引数を渡したり、出力を取得したりする必要はありません。 PythonにMATLABコードを実行するだけのコード行が必要です。
オンラインでmatlabroot
を使用し、コマンドプロンプトでそれを使用してなんらかのエンジンをインストールするように言ういくつかの回答を見ましたが、Pythonバージョンが古すぎませんでした(意味がありません)。
より簡単なバージョンまたはこれを行うための別の方法はありますか?
ありがとう!
Oct2Pyを使用
最初のオプションは、Matlabファイルと関数を実行できる無料のオープンソースプログラム Octave で実行されるOct2Pyを使用することです。次のターミナルコマンドでインストールしてください:
pip3 install oct2py
次に、次のようなPythonスクリプトからMatLabコードを実行できます。
from oct2py import Oct2Py
oc = Oct2Py()
script = "function y = myScript(x)\n" \
" y = x-5" \
"end"
with open("myScript.m","w+") as f:
f.write(script)
oc.myScript(7)
MatLabを使用する
オリジナルのMatLabエンジンを使用する場合は、次の手順に従う必要があります。
1。 MatLabライブラリのインストール
このページ の指示に従って、MatLabを開いてコマンドmatlabroot
を実行し、MatLabルートフォルダーを見つける必要があります。これにより、Matlabのルートフォルダーが表示されます。
次に、ターミナルを開きます(Windowsを使用している場合は、Windows + R
、次にcmd
と入力し、Enter
を押します。)ターミナルで、次のコードを実行します。
cd matlabroot\extern\engines\python
Matlabrootを今見つけたパスに置き換えてください。次に、実行します
python3 setup.py install
MatLab Pythonライブラリをインストールするには。
2。 MatLabライブラリの使用
このページ の指示に従ってください
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
スクリプト全体 を実行する場合は、スクリプトをMatLab * .mファイルとして現在のフォルダーに保存し、次のように実行できます。
import matlab.engine
eng = matlab.engine.start_matlab()
eng.myMatlabFile(nargout=0)
PythonからMatLabファイルを作成することもできます。
import matlab.engine
script = "b = 5;\n" \
"h = 3;\n" \
"a = 0.5*(b.* h)"
with open("myScript.m","w+") as f:
f.write(script)
eng = matlab.engine.start_matlab()
eng.myScript(nargout=0)
これが役に立てば幸いです:)