当前位置: 首页 > news >正文

外国优秀网站欣赏/51网站统计

外国优秀网站欣赏,51网站统计,淘宝运营商在哪里找靠谱,苏州专业网站设计公司Python调用Matlab官方简介 在Python中能否调用Matlab的函数或者方法,官网Math work给出了答案,展示如下: 具体意思:Python的MATLAB引擎API为Python提供了一个包,可以调用MATLAB作为计算引擎。该引擎支持引用实现(CPy…

Python调用Matlab官方简介

在Python中能否调用Matlab的函数或者方法,官网Math work给出了答案,展示如下:
在这里插入图片描述
具体意思:Python的MATLAB引擎API为Python提供了一个包,可以调用MATLAB作为计算引擎。该引擎支持引用实现(CPython)。有关支持的版本信息,请参见与MATLAB产品兼容的Python版本。

  • 要安装和启动引擎,请参见使用Python的MATLAB引擎API入门。

  • 要从MATLAB调用Python函数,请参阅从MATLAB调用Python。

引擎应用程序需要安装版本的MATLAB;您不能在只有MATLAB运行时的计算机上运行MATLAB引擎。

Python Functions 和 Matlab Functions
在这里插入图片描述

安装Matlab引擎获取库包

首先找到Matlab所提供的engine引擎的位置,就是Matlab安装目录下,extern/engines/python下,我这边话,展示如下所示:

在这里插入图片描述
外部变量(extern):指在函数外部定义的变量,也称全局变量。

当然我们可以发现,Matlab提供的engine不止python,还有Java,所以其实java也可以调用Matlab的相关函数与方法,python提供的setup.py安装文件,java上提供的是jar包。
在这里插入图片描述
然后在setup.py所在的目录下,打开cmd控制台,进行setup install:

python setup.py install

发现报错了,原来我的Matlab版本是2021a,2021a是不支持python 3.9版本的,大家可以看到下面的报错,而Matlab2022a是支持python 3.9。

很显然,解决方案:1. 重新装个2022a的matlab 2. 安装python 3.8

是个人都知道,安装Matlab远远比安装个python环境要耗时间的多,我就选择安装低版本的python环境。
在这里插入图片描述
安装python3.8成功后,我这边就不配置环境变量,直接使用:

D:\Matlab2021\R2021a\extern\engines\python>E:\Environment\python3.8\python.exe setup.py install

出现如下的画面说明是install安装成功的:
在这里插入图片描述

调用Matlab案例测试

我们这边采用的pycharm编译器,首先我们需要把我们的编译器的python环境版本改成Matlab兼容的版本,我们原来设置的是3.9版本,但是matlab不支持3.9,我们这边需要改成3.8版本。
在这里插入图片描述
刚才我们进行setup.py的安装,会发现目录下面生成了build文件夹,这里面就有我们需要的matlab库。等会创建完项目我们会进行使用。
在这里插入图片描述
我们创建完项目之后,会有venv虚拟环境目录,把我们matlab库文件夹剪切到site-packages目录下即可,这个目录就是存放我们python第三方库文件的目录:
在这里插入图片描述
再main.py编写案例代码,进行测试:

import matlab.engine
import os
engine = matlab.engine.start_matlab()# 通过调用 start_matlab 启动新的 MATLAB® 进程。 获取操作engine引擎
data = engine.fspecial('gaussian', matlab.double([50, 50]), 3.0)
# 接受数据
engine.mesh(data)
# 调用mesh方法,进行绘图
os.system('pause')
# 暂停操作,不然python运行结束,就会关闭了

运行结果展示如下所示:可以发现跳出是matlab的figure窗口
在这里插入图片描述

调用matlab.engine引擎

使用启动选项启动引擎

启动引擎,并将选项作为输入参数字符串传递给 matlab.engine.start_matlab。

例如,随桌面启动 MATLAB:

eng = matlab.engine.start_matlab("-desktop")

例如,启动桌面并将数值显示格式设置为 short:

eng = matlab.engine.start_matlab("-desktop -r 'format short'")

异步启动引擎:以异步方式启动引擎。在 MATLAB 启动时,在 Python 命令行中编写如下:

import matlab.engine
future = matlab.engine.start_matlab(async=True)

获取matlab函数返回参数

您可以直接调用任何 MATLAB® 函数并将结果返回到 Python®。例如,要确定某个数是否为质数,请使用该引擎调用 isprime 函数。

import matlab.engine
eng = matlab.engine.start_matlab()
res = eng.isprime(111)
print(res) # False# Connected to pydev debugger (build 213.5744.248)

当使用引擎调用函数时,默认情况下该引擎会返回单个输出参数。如果您知道函数可能返回多个参数,请使用 nargout 参数指定输出参数的数量。

要确定两个数的最大公分母,请使用 gcd 函数。设置 nargout 以从 gcd 返回三个输出参数。

import matlab.engine
eng = matlab.engine.start_matlab()
res = eng.gcd(100.0, 80.0, nargout=3)
print(res) # (20.0, 1.0, -1.0)

当然比如通过 Python 打开 MATLAB 帮助浏览器,显然是没有参数返回的,指定nargout=0即可:

import osimport matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)
os.system('pause')
# 暂停操作,不然python运行结束,就会关闭了

MATLAB doc 函数将打开浏览器,但不会返回输出参数。如果您没有指定 nargout=0,引擎将报告错误。

运行后,会打开matlab 帮助浏览器的页面:
在这里插入图片描述
若要搜索MATLAB文档,请在“帮助”浏览器中任意页面顶部的搜索框中键入一个表达式。浏览器返回一个搜索结果列表,突出显示与表达式匹配的关键词。

或者,您也可以使用文档搜索功能来搜索文档。例如,搜索那些提到 plot 函数 的页面:

eng.docsearch("plot",nargout=0)

调用matlab数据处理案例

待更新 · · · · · ·

http://www.lbrq.cn/news/966295.html

相关文章:

  • 海南百度推广总代理/北京百度推广优化公司
  • 如何做网站管理维护/代刷网站推广免费
  • 学校网站建设发展历程/西安百度公司地址介绍
  • 沈阳城市建设管理学校网站/策划品牌全案
  • 建立个人网站费用/网站很卡如何优化
  • 网址导航类网站如何做推广/关键词录入榜
  • 网站建设三剑客/十大搜索引擎网站
  • 国外免费网站建设/千万不要学网络营销
  • 销售网站设计/淘宝如何提升关键词排名
  • 网站建设 开发票/免费域名怎么注册
  • 日本vtuber在b站的钱/大二网页设计作业成品
  • 六安网站建设哪家靠谱/网站设计公司上海
  • 用邮箱地址做网站域名好吗/网络营销师证书需要多少钱
  • 广州网站建设联系电话/sem竞价托管多少钱
  • 昆明小程序定制/seo交流qq群
  • 做棋牌开发的网站/google seo怎么做
  • 建设部质监局信息查询官方网站/河南企业网站推广
  • 如何上传网站/沈阳网络营销推广的公司
  • 平湖市住房建设局网站/百度seo优化收费标准
  • 济南行知网站建设/别做网络推广员
  • 注册网站模板/抚州网络推广
  • 网站开发经济可行性分析怎么写/外链查询
  • wordpress自定义结构空白页/厦门关键词排名优化
  • android移动网站开发详解光盘下载/seo优化排名工具
  • 网页设计哪个培训机构好/正规seo排名多少钱
  • 专业手机网站建设推荐/淘宝热搜关键词排行榜
  • 高端网站设计服务商/谷歌搜索广告
  • 房地产设计网站/百度公司官网入口
  • 网站 制作/怎么注册自己公司的网址
  • lnmp wordpress 安装教程/seo咨询顾问
  • PyTorch边界感知上下文神经网络BA-Net在医学图像分割中的应用
  • 深入核心:理解Spring Boot的三大基石:起步依赖、自动配置与内嵌容器
  • 希尔排序:突破传统排序的边界
  • 多任务——协程
  • java+vue+SpringBoo中小型制造企业质量管理系统(程序+数据库+报告+部署教程+答辩指导)
  • 初识计算机网络