在Python中使用MATLAB引擎工作区

启动MATLAB引擎时,它提供一个包括所有MATLAB变量的集合。该集合名为workspace,是作为附属于MATLAB引擎的Python字典实现的。每个MATLAB变量的名称成为workspace字典中的一个键值对中的键,该MATLAB变量的值成为该键值对中的值。这些键的名称必须是合法的,比如不能是数字。可以在Python中添加变量到引擎工作区,然后就可以在MATALB函数中使用这些变量。

下面添加一个变量到引擎工作区。

code.python
>>> import matlab.engine
>>> eng=matlab.engine.start_matlab()
>>> x=4.0
>>> eng.workspace['y']=x
>>> a=eng.eval('y^2')
>>> print(a)
11.0

本例中,x仅作为Python变量存在,它的值赋给引擎工作区的一个新入口y,创建一个MATLAB变量。然后可以在MATLAB中调用eval函数执行y^2语句,并输出返回值11.0给变量a。