使用pymatlab
首次导入:>>> import pymatlab
初始化解释程序。>>> session = pymatlab.session_factory()
创建一个numpy数组开始工作。>>> from numpy.random import randn
>>> a = randn(20,10,30)
将numpy数组a发送到Matlab工作区的变量"a">>> session.putvalue('A',a)
在Matlab中使用变量A执行某些操作。successfull命令返回
空字符串-如果Matlab生成错误,返回的字符串将保存
错误消息>>> session.run('B=2*A')>>> session.run('C')
Traceback (most recent call last):
...
RuntimeError: Error from Matlab: Error: MATLAB:UndefinedFunction with message: Undefined function or variable 'C'.
使较大的脚本在语法错误方面更安全的技巧。
将脚本发送到字符串变量并使用eval()运行它。>>> mscript = """D = A
... for i=1:10
... D = 2*D
... end
... """
>>> session.putvalue('MSCRIPT',mscript)
>>> session.run('eval(MSCRIPT)')
要将变量检索回python,请执行以下操作:>>> b = session.getvalue('B')
>>> (2*a==b).all()
True
如果要显式关闭到解释器的连接,请删除
实例。通常,当会话变量用完时,Matlab将关闭
范围:>>> del session