python调用matlab绘图

详细请百度matlab engine for python

http://doc.okbase.net/Vonng/archive/124882.html

安装很简单,就一句命令


安装完后运行以下程序观察

import matlab
import matlab.engine
import os
import time
import numpy as np


eng=matlab.engine.start_matlab()
mat=eng.fspecial('gaussian',matlab.double([100,100]),3.0)
eng.mesh(mat)
time.sleep(3)


#show from numpy
mat=np.ones([100,100])
mat2=mat.tolist()
mat3=matlab.double(initializer=mat2)
eng.mesh(mat3)
os.system('pause')



小技巧:在使用figure()函数时发现一个小区别,在matlab中写为figure(1);  在python中必须写为eng.figure(1.0),否则会报错:matlab.engine.MatlabExecutionError: First argument must be a figure object or a positive Integer

按照这句话应该是说第一个参数必须是figure object或者正的integer,然而实际是得用1.0这个double型才能跑,也是看不懂。。。

你可能感兴趣的:(matlab画图,python)