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

Python实现动态调用Matlab自定义函数

首先需要下载与python版本对应的matlab,并成功执行matlab中的setup.py文件
参考流程如下

https://blog.csdn.net/s1k9y9/article/details/127793053

完成上述步骤即可开始实现动态调用matlab文件。
文件目录如下
D://call/
|–matlab
|–test1
|–main.m
|–test2
|–main.m
|–callMatlabFunc.py

test1/mian.m 内容如下

% 实现积分计算
function Norm1 = Norm_cal(R, dt)Norm1=cumtrapz(R)*dt
end

callMatlabFunc.py 内容如下

import matlab
import matlab.engine# @param funcname 访问文件路径
# @param params 参数集
def callMatlabFunc(funcname, params):try:eng.cd('./matlab/' + funcname) # 进入matlab文件目录val = eng.main(*params) # matlab文件全部以main命名,以文件夹名称做区分eng.quit()return valexcept Exception as e:return eif __name__ == '__main__':print(callMatlabFunc('test1', (matlab.double([0,1,2,3,4,5,6,7,8,9,10]), 1.0)))# 传入参数代表求x的0-10定积分# python传入matlab数组需要用matlab.double转换一下# Norm1 =0    0.5000    2.0000    4.5000    8.0000   12.5000   18.0000   24.5000   32.0000   40.5000   50.0000

这样通过更改funcname变量,使执行的matlab文件可以动态更改。

http://www.lryc.cn/news/124757.html

相关文章:

  • redis集群和分片-Redis Cluster:分布式环境中的数据分片、主从复制和 Sentinel 哨兵
  • 【数据库基础】Mysql下载安装及配置
  • iptables安全与防火墙
  • Linux 内核线程启动以及内核调用应用层程序
  • React+Typescript清理项目环境
  • 【linux学习】linux的模块机制
  • 用 oneAPI 实现 AI 欺诈检测:一款智能图像识别工具
  • 云计算的发展前景怎么样
  • opencv实战项目 手势识别-手势音量控制(opencv)
  • Mac下编译32位Qt
  • 企业数据库遭到360后缀勒索病毒攻击,360勒索病毒解密
  • C++11时间日期库chrono的使用
  • 每天一道leetcode:1466. 重新规划路线(图论中等广度优先遍历)
  • Mysql—修改用户密码(重置密码)
  • ECE585 Tomasulo算法:C++ Tomasulo算法模拟器
  • Qt中在QLabel上画点,重写QLabel类
  • ssm+vue小型企业办公自动化系统源码和论文PPT
  • C++ STL priority_queue
  • [PyTorch][chapter 50][创建自己的数据集 2]
  • SQL-每日一题【1341. 电影评分】
  • 基于DBN的伪测量配电网状态估计,DBN的详细原理
  • Python运算符全解析:技巧与案例探究
  • NPCon:AI模型技术与应用峰会北京站 (参会感受)
  • 为什么爬虫要用高匿代理IP?高匿代理IP有什么优点
  • 【JavaWeb】MySQL约束、事务、多表查询
  • 【并发编程】自研数据同步工具优化:创建线程池多线程异步去分页调用其他服务接口获取海量数据
  • 七、dokcer-compose部署springboot的jar
  • k8s 使用 containerd 运行时配置 http 私服
  • 【新品发布】ChatWork企业知识库系统源码
  • 疫情打卡 vue+springboot疾病防控管理系统java jsp源代码