广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python调用Matlab的混合编程
  • 102
分享到

Python调用Matlab的混合编程

PythonMatlab 2023-01-31 06:01:52 102人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一. 配置方法: 找到Matlab安装根目录,比如D:\matlab,然后进入D:\matlab\extern\engines\python目录中,Shift+右键-->“在此处打开命令窗口”, 1.有管理员权限的,用 管理员权限执

一. 配置方法:

找到Matlab安装根目录,比如D:\matlab,然后进入D:\matlab\extern\engines\python目录中,Shift+右键-->“在此处打开命令窗口”,

1.有管理员权限的,用 管理员权限执行:Python setup.py install

2.无管理员权限的,将installdir添加到Python的包搜索路径中,再加入到PYTHONPATH环境变量中即可:python setup.py build --build-base builddir install --install-base installdir


二. 使用方法:

#Start and quit
import matlab.engine
eng = matlab.engine.start_matlab()
eng.quit()

#Call Matlab Functions:
#Just call with fORM eng.xxx()
#the function xxx should in the namespace of matlab.


#Asynchronously Call
import matlab.engine
eng = matlab.engine.start_matlab()
future = eng.sqrt(4.0,async=True)
ret = future.result()
print(ret)


#WorkSpace Usage:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.workspace['y'] = x
a = eng.eval('sqrt(y)')
print(a)


#Skills for unsupported features in python
#eng.eval()
import matlab.engine
eng = matlab.engine.start_matlab()
eng.eval("T = readtable('patients.dat');",narGout=0)

#Plot With Matlab:
import matlab.engine
eng = matlab.engine.start_matlab()
data = eng.peaks(100)
eng.mesh(data)


三. 测试用例(Python2):

import matlab
import matlab.engine
import time
def basic_test(eng):
	print "Basic Testing Begin"
	print "eng.power(100,2) = %d"%eng.power(100,2)
	print "eng.max(100,200) = %d"%eng.max(100,200)
	print "eng.rand(5,5) = "
	print eng.rand(5,5)
	print "eng.randi(matlab.double([1,100]),matlab.double([3,4]))"%\
		eng.randi(matlab.double([1,100]),matlab.double([3,4]))
	print "Basic Testing Begin"
def plot_test(eng):
	print "Plot Testing Begin"
	eng.workspace['data'] =  \
		eng.randi(matlab.double([1,100]),matlab.double([30,2]))
	eng.eval("plot(data(:,1),'ro-')")
	eng.hold('on',nargout=0)
	eng.eval("plot(data(:,2),'bx--')")
	print "Plot testing end"
def audio_test(eng,freq,length):
	print "Audio Testing Begin"
	eval_str = "f = %d;t=%d;"%(freq,length)
	eng.eval(eval_str,nargout = 0)
	eng.eval('fs = 44100;T=1/fs;t=(0:T:t);',nargout = 0)
	eng.eval('y = sin(2 * pi * f * t);',nargout = 0)
	eng.eval('sound(y,fs);',nargout = 0)
	time.sleep(length)
	print "Audio Testing End"
def fourier_test(eng):
	pass
def demo(eng):
	basic_test(eng)
	plot_test(eng)
	audio_test(eng,680,1)
if __name__ == "__main__":
	print "Initializing Matlab Engine"
	eng = matlab.engine.start_matlab()
	print "Initializing Complete!"
	demo(eng)
	print "Exiting Matlab Engine"
	print "Press Any Key to Exit"
	raw_input();
	eng.quit()
	print "Bye-Bye"
eng = matlab.engine.start_matlab()
eng.quit()



四. 注意点

比起c++ Engine的api,Python Engine的最牛逼之处就是可以直接以原生的形式调用Matlab内建函数,而不是用Eval方法。当然,如果你想用也是一点问题都没有的。同时,变量的存取再也不用和一堆mxArray以及它们的ADT打交道了,直接以字典的形式对engine.workspace进行存取即可。显然比C++的调用方式更为科学。



--结束END--

本文标题: Python调用Matlab的混合编程

本文链接: https://www.lsjlt.com/news/189429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python调用Matlab的混合编程
    一. 配置方法: 找到Matlab安装根目录,比如D:\matlab,然后进入D:\matlab\extern\engines\python目录中,Shift+右键-->“在此处打开命令窗口”, 1.有管理员权限的,用 管理员权限执...
    99+
    2023-01-31
    Python Matlab
  • Python与Matlab混合编程的实现案例
    目录前言一、环境准备二、简单示例三、更复杂的示例1.调用.m文件2.调用自定义函数3.绘图测试四、项目相关前言 因为项目需要,需要批处理很多Matlab的.m文件,从每个文件中提取结...
    99+
    2023-01-28
    Python与Matlab混合编程 Python Matlab混合编程
  • QT与MATLAB混合编程的详细教程
    目录QT与MATLAB混合编程一、环境二、将matlab程序写成函数形式三、将函数的.m文件转换成动态链接库形式四、QT调用1.添加外部库2.Matlab其他依赖库和头文件搜索路径的...
    99+
    2023-01-18
    qt与matlab混合编程打包 qt和matlab qt调用matlab函数
  • C++调用Python(混合编程)函数整理总结
    文章目录 C++调用python概述相关官方文档相关函数1.初始化python解释器环境2.调用python脚本的静态简单方式3.动态加载python模块并执行函数3.1不带参数和返回值的举例...
    99+
    2023-09-03
    python c++ 开发语言
  • python+C、C++混合编程的应用
    TIOBE每个月都会新鲜出炉一份流行编程语言排行榜,这里会列出最流行的20种语言。排序说明不了语言的好坏,反应的不过是某个软件开发领域的热门程度。语言的发展不是越来越common,而是越来越专注领域。有的语言专注于简单高效,比如python...
    99+
    2023-01-31
    python
  • Python和C++的混合编程(使用Bo
      想要享受更轻松愉悦的编程,脚本语言是首选。想要更敏捷高效,c++则高山仰止。所以我一直试图在各种通用或者专用的脚本语言中将c++的优势融入其中。原来贡献过一篇《c++和js的混合编程》也是同样的目的。   得益于机器学习领域的发展,...
    99+
    2023-01-30
    Python Bo
  • Python 和 C++ 混合编程:pybind11 使用
    Python 和 C++ 混合编程:pybind11 使用 1. 目的需求2. pybind 11 简介3. 使用实践:一个简单的实例3.1 开发环境3.2 准备工作3.3 建立工程 test...
    99+
    2023-09-09
    python c++ 开发语言
  • 批处理与python代码混合编程的方法
    批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值,比如windows版的ruby gem包管理器就是运用了批处理和ruby的混合编写,bathome出品的命令工具包管理器bcn 使用了...
    99+
    2022-06-04
    批处理 代码 方法
  • C与汇编混合编程的实现示例
    目录1. C语言内联汇编2. C语言调用汇编函数3. 汇编代码调用C语言函数上一期中,使用链表的方式进行对不同任务的调用,实现的效果还是不错的,但是,任务在进行过程中不能进行来回的切...
    99+
    2022-11-12
  • python调用matlab的方法详解
    目录1.python版本与matlab版本的对应关系2.import matlab.engine的问题3.代码报错:please use torch.load with map_lo...
    99+
    2022-11-12
  • python如何调用现有的matlab函数
    目录python配置matlab库1、确认配置版本2、配置python-matlab环境python使用matlab函数1、matlab函数2、python函数3、运行结果4、注意事...
    99+
    2022-12-15
    python调用matlab函数 python matlab函数 matlab函数调用
  • matlab调用python的各种方法详解
    matlab调用python的各种方法详解 文章目录 matlab调用python的各种方法详解1 调用自定义python函数例子 2 访问 Python 内置模块3 从 MATLAB ...
    99+
    2023-09-01
    python matlab 开发语言
  • BAT与HTML混合编程写法的示例分析
    这篇文章给大家介绍BAT与HTML混合编程写法的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。核心代码:<!--::::::::::::::::::::::::::::::::BAT:::::::::::...
    99+
    2023-06-08
  • 混合语言编程—C#使用原生的Directx和OpenGL绘图的方法
    由于项目需要做一些图形展示,所以就想到了使用Directx和OpenGL来绘图,但项目准备使用C#来开发(大家比较熟悉C#),在网上看了相关的资料,有一些第三方的控件可用,试用了下,...
    99+
    2022-11-15
    C# Directx OpenGL
  • 解决python调用matlab时的一些常见问题
    为什么要用python调用matlab? 我自己的有些数据结构涉及到hash查找,在python中key是tuple形式,在matlab中支持hash查找的数据结构只有contain...
    99+
    2022-11-11
  • Python真的适合分布式编程吗?
    Python是一种高级编程语言,以其易读性、简洁性和灵活性而闻名。它已成为数据科学和机器学习领域的主要语言之一。但是,Python是否适合分布式编程呢?本文将探讨Python在分布式编程中的用途和优劣势,并提供一些示例代码。 Python在...
    99+
    2023-09-14
    分布式 git leetcode
  • 怎么用Python异步编程进行API调用
    本篇内容主要讲解“怎么用Python异步编程进行API调用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python异步编程进行API调用”吧!请求库通常,当Python使用者希望进行AP...
    99+
    2023-06-15
  • Apache与Python并发编程的完美结合?
    Apache是一个广泛使用的Web服务器,而Python则是一种流行的编程语言。这两者的结合可以为Web应用程序带来很多好处,其中一个最主要的好处是并发编程。在这篇文章中,我们将介绍如何在Apache和Python中实现并发编程,并演示一...
    99+
    2023-11-13
    并发 apache 关键字
  • Python编程中异步编程与算法框架的完美结合。
    Python编程中异步编程与算法框架的完美结合 Python是一种非常流行的编程语言,拥有广泛的应用场景。在Python编程中,异步编程和算法框架是两个非常重要的概念。异步编程可以帮助我们更高效地处理一些耗时的操作,而算法框架则为我们提供了...
    99+
    2023-06-18
    编程算法 框架 异步编程
  • Python和Apache结合的大数据编程算法?
    在当今的数据时代,大数据已成为许多企业和组织的重要资源,如何高效地处理和分析这些数据已成为许多人关注的焦点。Python和Apache是两个极受欢迎的技术,它们的结合可以为我们提供强大的大数据编程工具。在本文中,我们将探讨如何使用Pyth...
    99+
    2023-08-26
    apache 大数据 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作