主要内容

连接Python跑步马铃薯会话

您可以连接MATLAB®Python的发动机®到已在本地计算机上运行的共享MATLAB会话。您还可以从单个Python会话连接到多个共享MATLAB会话。您可以在会话期间随时共享MATLAB会话,也可以在“启动”选项开始时共享一个MATLAB会话。

连接到共享马铃薯会话

首先,将MATLAB会话转换为共享会话。来自Matlab电话matlab.eengine.Shareengine.

matlab.eengine.Shareengine.

在操作系统提示符下启动Python。连接到共享MATLAB会话,呼叫matlab.engine.connect_matlab.来自Python。您可以从Python调用任何Matlab函数。

导入matlab.engine Eng = MATLAB.ENGINE.CONNECT_MATLAB()ENG.SQRT(4.0)
2.0

您可以通过名称连接到共享会话。要查找共享会话的名称,请调用matlab.engine.find_matlab.来自Python。

matlab.eengine.find_matlab()
('matlab_13232',)

matlab.engine.find_matlab.返回A.元组使用本地计算机上的所有共享MATLAB会话的名称。在这个例子中matlab.eengine.Shareengine.给了共享会话默认名称matlab_13232.,其中13232是MATLAB过程的ID。每当您启动MATLAB时,操作系统都会为MATLAB会话提供不同的进程ID。

按名称连接到MATLAB会话。

eng.quit()newengine = matlab.eengine.connect_matlab('matlab_13232')

如果未指定共享会话的名称,matlab.engine.connect_matlab.连接到名为的第一个会话元组返回的matlab.engine.find_matlab.

以异步连接到共享马铃薯会话

来自MATLAB,将MATLAB会话转换为共享会话。

matlab.eengine.Shareengine.

在操作系统提示符下启动Python。异步连接到共享MATLAB会话。

导入matlab。引擎未来= matlab.engine.connect_matlab(background=True) eng = future.result()

从Python调用matlab函数。

Eng.sqrt(4.0)
2.0

连接到多个共享马铃薯会话

您可以从Python连接到多个共享MATLAB会话。

启动第二个MATLAB会话。来自Matlab电话matlab.eengine.Shareengine.。给出第二个共享会话的名称。名称必须是有效的MATLAB变量名称。有关有效变量名称的信息,请参阅变量名称

matlab.eengine.shareengine('matlabengine2'

从Python中,找到所有共享的MATLAB会话。

导入matlab.eengine matlab.engine.find_matlab()
('matlab_13232','matlabengine2')

要连接到共享MATLAB会话,请致电matlab.engine.connect_matlab.来自Python。

Eng1 = Matlab.eNgine.Connect_Matlab('matlab_13232')eng2 = matlab.egine.connect_matlab('matlabengine2')

开始共享马铃薯与启动选项的会话

默认情况下,不共享MATLAB会话。但是,您可以使用启动选项启动MATLAB作为共享会话。

在操作系统提示符下启动共享MATLAB会话。

matlab -r“matlab.engine.shareengine”matlab -r“matlab.engine.shareengine('matlabengine3')”

您可以使用默认名称启动会话,或者给出单引号中括起来的名称。

也可以看看

||||

相关的话题