MATLAB和Python可以在一定程度上互相调用,起到互补的作用。本文就来抛砖引玉,总结一些最基本的操作步骤。

在MATLAB调用Python

MATLAB里可以很方便的调用Python的模块。笔者在进行车震研究的时候,一方面要在MATLAB里验证算法,同时其它的组员用Python来把程序封装好用到车上去震。如果能够重复使用一些核心的算法,那就可以在很大程度上提高开发效率。为此,我尝试把一些比较常用的代码用Python来写,然后在MATLAB里面调用。

为此,我通过如下步骤设置了自己的环境( 我使用的Python版本是2.7. MATLAB我用的是R2016b,操作系统是Windows7, 64位)。

首先,我在自己的机器上安装Python, 注意我需要安装的是64位的,不然我的64位的MATLAB认不出来。安装包可以在这里下载:https://www.python.org/downloads/windows/

然后,我在Windows的命令行里使用下面的命令安装了一些进行科学计算的包,

C:\Python27> pip install numpy

C:\Python27> pip install scipy

C:\Python27> pip install matlibplot

都弄完之后, 打开MATLAB, 输入pyversion, 结果如下

>> pyversion

version: '2.7'

executable: 'C:\Python27\python.EXE'

library: 'C:\windows\system32\python27.dll'

home: 'C:\Python27'

isloaded: 0

这说明MATLAB成功找到了Python解释器。

现在,我在Python里写了一个简单的类:

class myClass:

version = 1.0

def __init__(self,a,b):

self.a, self.b = a,b

def getsum(self):

return self.a+self.b

然后保存为文件 myPyClass.py

最后,打开MATLAB, 调用这个Python模块创建一个类,然后调用getsum方法,结果如下:

>> pyObj = py.myPyClass.myClass(1,2);

>> pyObj.getsum

ans =

3

就是这么简单。

在Python里调用MATLAB引擎

MATLAB提供了用于其它各种语言调用的API接口,也可以在Python里进行调用。

首先,需要安装MATLAB引擎。为此,我用ADMINISTRATOR模式打开Windows的命令行,找到如下的路径

C:\Program Files\MATLAB\R2016b\extern\engines\python>

然后输入

python setup.py install

安装完成后,我打开MATLAB写了一个简单的求最小二乘的函数。

functionx=myLS(A,B)x = A\B;

end

随后,打开 Python, 运行如下命令

import matlab.engine

eng = matlab.engine.start_matlab()

y = eng.myLS(matlab.double([[1.],[2.]]),matlab.double([[3.],[4.]]))

print y

计算的结果如下:

2.1999999999999997

更多详情请参考

matlab与python交互_Python和MATLAB交互的基本操作相关推荐

  1. matlab与python通信_python和matlab之间数据传输方法

    转自链接:https://www.jianshu.com/p/8da7398fa889 1..mat文件 matlab和python间的数据传输一般是基于matlab的文件格式.mat,python中 ...

  2. matlab与python区别_python和matlab的区别

    详细内容 Python是一种面向对象的解释型计算机程序设计语言.Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 . ...

  3. python调用matlab需要的库_python调用matlab文件

    python和matlab在计算机各具优势,最近在研究一个文字识别的小程序.同时用到matlab和python,matlab负责图片的前期处理,python负责图片的文字识别,需要相互调用.我尝试了很 ...

  4. python中和js交互_python和js交互调用的方法

    后台代码都是利用的 1.[get方式]使用jquery的get json与后台交互 前端js代码片段 var data= { 'a': $('input[name="a"]').v ...

  5. python与cad交互_python与C++交互

    python和C++能进行有效的交互,c++调用Python的一些小用法 写了一个python脚本导入发生异常,可能是编码问题(如存在中文), Python默认的是ASCII 可加上: #!/usr/ ...

  6. python和javascript交互_python和js交互调用的方法

    数据展示: $.ajax({ url: "test_post/nn", type: "POST", dataType: "json", su ...

  7. html python 交互_python与html交互详解

    1.Jinji2模板引擎(Falsk内置模板引擎,来源与另一个框架Django) 例:render_template()中传模板以及入参,那么在模板中可以直接通过{{}}来使用 2.定义路由入参(入参 ...

  8. MATLAB与Python接口

    [课程介绍] 介绍MATLAB与Python接口的多种方法,包括MATLAB与Python的相互调用以及将MATLAB代码打包成组件然后在Python中集成. [课程收益] MATLAB调用Pytho ...

  9. matlab 矩阵与向量乘法,性能:Matlab与C矩阵向量乘法

    前言 前段时间我问了一个关于Matlab与Python性能的问题(Performance: Matlab vs Python).我很惊讶Matlab比Python更快,特别是在meshgrid中.在讨 ...

最新文章

  1. 爬虫之常见的验证码的种类
  2. notifyDataSetInvalidated()跟notifyDataSetChanged()的区别
  3. xmlstreamexception 参数实体未进行声明_命名实体识别研究进展概述
  4. Hadoop之Hadoop数据压缩
  5. CentOS 安装最新版本 Git
  6. 使用sqljdbc连接mssql数据库,maven生成jar运行后报Exception in thread main java.lang.SecurityException错误...
  7. Flutter学习 — 实现滑动关闭、删除item
  8. 20. nginx 服务器的邮件服务
  9. hugo博客html创建目录,Hugo博客添加搜索功能
  10. iso是什么意思/iso9001质量管理体系认证有哪些标准
  11. BT656协议讲解与解码
  12. 开学送礼最佳选择,有名的蓝牙耳机推荐
  13. 京东安卓客户端values文件夹
  14. python中return返回值怎么累加_Python学习笔记函数之返回值和return语句
  15. 打印机服务器端口无显示器,什么是打印机端口?无法找到打印机端口是怎么回事?...
  16. 使用requests爬取IT橘子
  17. linux运维开发之路(一)— 基础知识篇
  18. 10 Three.js使用orbit controls插件(轨道控制)来控制模型交互动作
  19. 当时的我很淘气openeim003
  20. TextCNN模型详解

热门文章

  1. LSQL Developer连接Oracle11g 64位数据库配置详解
  2. [jstips]向数组中插入一个元素
  3. javascript和“主流大型语言”(c# JAVA C++等)的差异
  4. Java对象转换为Json对象
  5. vba 单元格 一系例操作
  6. SEO:影响网站排名的一些问题
  7. 为什么cp新的so文件替换老的so,程序会core掉的根本原因是什么?
  8. stm32f103c8t6芯片IAP升级填坑记
  9. cmake (0)简介
  10. 【Python翻屏软件】英文1秒翻,水准堪比专九,这下考级有救了。