matlab与python交互_Python和MATLAB交互的基本操作
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交互的基本操作相关推荐
- matlab与python通信_python和matlab之间数据传输方法
转自链接:https://www.jianshu.com/p/8da7398fa889 1..mat文件 matlab和python间的数据传输一般是基于matlab的文件格式.mat,python中 ...
- matlab与python区别_python和matlab的区别
详细内容 Python是一种面向对象的解释型计算机程序设计语言.Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 . ...
- python调用matlab需要的库_python调用matlab文件
python和matlab在计算机各具优势,最近在研究一个文字识别的小程序.同时用到matlab和python,matlab负责图片的前期处理,python负责图片的文字识别,需要相互调用.我尝试了很 ...
- python中和js交互_python和js交互调用的方法
后台代码都是利用的 1.[get方式]使用jquery的get json与后台交互 前端js代码片段 var data= { 'a': $('input[name="a"]').v ...
- python与cad交互_python与C++交互
python和C++能进行有效的交互,c++调用Python的一些小用法 写了一个python脚本导入发生异常,可能是编码问题(如存在中文), Python默认的是ASCII 可加上: #!/usr/ ...
- python和javascript交互_python和js交互调用的方法
数据展示: $.ajax({ url: "test_post/nn", type: "POST", dataType: "json", su ...
- html python 交互_python与html交互详解
1.Jinji2模板引擎(Falsk内置模板引擎,来源与另一个框架Django) 例:render_template()中传模板以及入参,那么在模板中可以直接通过{{}}来使用 2.定义路由入参(入参 ...
- MATLAB与Python接口
[课程介绍] 介绍MATLAB与Python接口的多种方法,包括MATLAB与Python的相互调用以及将MATLAB代码打包成组件然后在Python中集成. [课程收益] MATLAB调用Pytho ...
- matlab 矩阵与向量乘法,性能:Matlab与C矩阵向量乘法
前言 前段时间我问了一个关于Matlab与Python性能的问题(Performance: Matlab vs Python).我很惊讶Matlab比Python更快,特别是在meshgrid中.在讨 ...
最新文章
- 爬虫之常见的验证码的种类
- notifyDataSetInvalidated()跟notifyDataSetChanged()的区别
- xmlstreamexception 参数实体未进行声明_命名实体识别研究进展概述
- Hadoop之Hadoop数据压缩
- CentOS 安装最新版本 Git
- 使用sqljdbc连接mssql数据库,maven生成jar运行后报Exception in thread main java.lang.SecurityException错误...
- Flutter学习 — 实现滑动关闭、删除item
- 20. nginx 服务器的邮件服务
- hugo博客html创建目录,Hugo博客添加搜索功能
- iso是什么意思/iso9001质量管理体系认证有哪些标准
- BT656协议讲解与解码
- 开学送礼最佳选择,有名的蓝牙耳机推荐
- 京东安卓客户端values文件夹
- python中return返回值怎么累加_Python学习笔记函数之返回值和return语句
- 打印机服务器端口无显示器,什么是打印机端口?无法找到打印机端口是怎么回事?...
- 使用requests爬取IT橘子
- linux运维开发之路(一)— 基础知识篇
- 10 Three.js使用orbit controls插件(轨道控制)来控制模型交互动作
- 当时的我很淘气openeim003
- TextCNN模型详解