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

news/2025/2/21 4:40:29/

首先需要下载与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.ppmy.cn/news/1033894.html

相关文章

网盘与相册服务PDS

引言:作为一名开发者,我将通过对PDS(Personal/Enterprise Drive System)的体验使用,分享一下本人对以下方面的使用体验。 1. 开发个人/企业网盘 功能与应用 PDS作为一种网盘服务中间件产品,为开发者提供了…

小白到运维工程师自学之路 第七十三集 (kubernetes应用部署)

一、安装部署 1、以Deployment YAML方式创建Nginx服务 这个yaml文件在网上可以下载 cat nginx-deployment.yaml apiVersion: apps/v1 #apiVersion是当前配置格式的版本 kind: Deployment #kind是要创建的资源类型,这里是Deploymnet metadata: #metadata是该资源…

为什么CAN要采取双绞线布局?

摘要: 在CAN总线应用中,一般建议使用屏蔽双绞线进行组网、布线,本文将详细讲解为什么CAN总线要采取双绞线的布局。 CAN(Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来…

恒运资本:CPO概念发力走高,兆龙互联涨超10%,华是科技再创新高

CPO概念15日盘中发力走高,截至发稿,华是科技涨超15%再创新高,兆龙互联涨逾11%,中贝通讯涨停,永鼎股份、太辰光涨超5%,天孚通讯涨逾4%。 消息面上,光通讯闻名咨询机构LightCounting近日发布的202…

QT 5.12配置OpenCV3.4.10

主要过程:使用cmake编译源码,生成Mingw64位 下的OpenCV库 三篇博客解决问题: 1.Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_d:\qt\qt5.14.2\5.14.2\mingw73_64\include\qtcore\qg_会飞的DA象的博客-CSDN博客 2.【…

(五)Unity开发Vision Pro——FAQ

常见问题 (FAQ) 1.问:我看到在visionOS 模拟器中运行的结果与在硬件上运行的结果不同 请注意,在模拟器中运行时,某些特定于硬件的功能不可用 - 最明显的是 AR 数据。这可能意味着 VisionOS 模拟器中的模拟结果可能与 Vision Pro 耳机上的模…

Python开发入门到精通之11个案例讲透 Python 函数参数

今天给大家分享一下 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。 接下来是正文。 …

学习Vue:使用条件渲染指令(v-if,v-else,v-show)

在 Vue.js 中,条件与循环是实现动态交互界面的关键要素。通过使用条件渲染指令,您可以根据不同的条件决定是否显示或隐藏特定的内容。在本文中,我们将介绍三个常用的条件渲染指令:v-if、v-else 和 v-show,以及它们的用…