作者:在刀尖上起舞66_596 | 来源:互联网 | 2022-12-10 12:12
我正在尝试使用Python运行MATLAB代码(我正在使用python 3.6)。我不需要传递任何参数或获取任何输出。我只需要Python上的一行代码即可简单地运行MATLAB代码。我在线上看到了一些答案,说要使用matlabroot并在命令提示符下使用它来安装某种引擎,但是它说我无法安装它,因为我的Python版本基本上还不够旧(没有意义)。有没有更简单的版本或执行此操作的另一种方式?
谢谢!
1> pascscha..:
使用Oct2Py
您的第一个选择是使用与Octave一起运行的Oct2Py,Octave是一个免费的开源程序,可以运行Matlab文件和功能。只需使用以下终端命令安装它:
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并运行命令来找到MatLab根文件夹matlabroot
。这应该给您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)
我希望这有帮助 :)