python运行matlab,python能实现matlab的功能吗

  python运行matlab,python能实现matlab的功能吗

  在论文的写作过程中,需要将实验结果可视化。虽然matplotlib可以完成以上工作,但是产生的图像没有matlab产生的图像细腻,所以想用python调用matlab的M文件,经过一番查找,总结前人和matlab官网给出的文档。下面介绍如何安装python的matlab引擎API,让Python可以调用MATLAB作为计算引擎,在Python中执行MATLAB文件。

  1.前期准备(1)matlab版本和python版本要求:我的matlab是2016b,这个引擎支持Python 2.7,3.5,3.6版本。注意python需要设置环境变量,否则会出错。设置环境变量教程

  (2)Matlab官方文档:给出了安装方法和简单的例子,以及官方文档

  (3)安装:

  根据官网的要求:

  将包含Python解释器的文件夹添加到您的路径中(如果它不在路径中)。

  找到MATLAB文件夹的路径。启动MATLAB并在命令行窗口中键入matlabroot。复制matlabroot返回的路径。

  要安装引擎API,请在操作系统提示符下执行以下命令,其中matlabroot是MATLAB文件夹的路径。

  我的是windows:

  打开cmd,输入CD+路径。

  回车,输入自己的根磁盘,比如D盘,输入D:

  回车,输入python setup.py install,安装完成。

  2.用python调用matlab中定义的函数绘制三维散点图为例来说明:

  首先在matlab中定义绘图函数three_d_plot.m文件,放在与python文件相同的目录下:

  函数h1=three_d_plot(X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3)figureh1=scatter3(subs(X1),subs(Y1),subs(Z1), *, r );hold onh2=scatter3(subs(X2),subs(Y2),subs(Z2), , b );hold onh3=scatter3(subs(X3),subs(Y3),subs(Z3), x , g );Legend (one , two , three , location , north outside )xlabel( x _ axis )ylabel( y _ axis )x tickets(0:0.2:1)y tickets Xdir , reverse )b aspect([1.521])view(60,20) save as (h1, save _ path , jpg )然后调用。python文件中的m文件如下:其中y1,x1,Z1,y2,x2,z2,y3

  MATLAB . engine eng=MATLAB . engine . start _ MATLAB()eng . three _ d _ plot(y1,x1,Z1,y2,x2,z2,y3,x3,z3)以下是我在没有添加图例和坐标轴名称的情况下绘制的三维散点图:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: