07、python调用matlab引擎

import matlab.engine

import numpy as np

import matplotlib.pyplot as plt

启动MATLAB引擎

eng = matlab.engine.start_matlab()

print("MATLAB引擎启动成功")

定义Python数据

t = np.linspace(0, 2*np.pi, 100)

y = np.sin(t)

将NumPy数组转换为MATLAB数组

t_mat = matlab.double(t.tolist())

y_mat = matlab.double(y.tolist())

在MATLAB中执行命令

eng.workspace['t'] = t_mat # 将变量传递到MATLAB工作区

eng.workspace['y'] = y_mat

eng.eval("plot(t, y)", nargout=0) # 绘制图形

eng.eval("title('正弦函数')", nargout=0)

eng.eval("xlabel('时间'); ylabel('幅度')", nargout=0)

执行MATLAB函数并获取结果

result = eng.sqrt(4.0) # 调用sqrt函数

print(f"sqrt(4.0) = {result}")

调用自定义MATLAB函数

假设当前目录下有个名为myfunc.m的文件

result = eng.myfunc(arg1, arg2)

关闭引擎

eng.quit()

print("MATLAB引擎已关闭")

相关推荐
jghhh015 小时前
基于PCA的轴承故障诊断MATLAB程序实现
matlab
feifeigo1237 小时前
基于帧间差分法的运动目标检测 MATLAB 实现
目标检测·matlab·目标跟踪
aini_lovee7 小时前
基于Jousselme距离改进D-S证据理论matlab实现
开发语言·算法·matlab
简简单单做算法11 小时前
基于PSO优化CNN-BiLSTM网络模型的多输入单输出回归预测算法matlab仿真
matlab·回归·cnn·回归预测·cnn-bilstm·pso-cnn-bilstm
桓琰12 小时前
非线性滤波——基于EKF的INS/GPS松组合算法的研究(直接法|EKF|欧拉角)
算法·matlab·卡尔曼滤波算法
崇山峻岭之间12 小时前
Matlab学习笔记04
笔记·matlab
技术净胜1 天前
MATLAB进行图像分割从基础阈值到高级分割
opencv·计算机视觉·matlab
listhi5201 天前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
Dillon Dong1 天前
Simulink进阶:从零打造你的自定义模块库并集成到浏览器
matlab·simulink
Evand J1 天前
【EKF定位滤波例程】三维空间(XYZ)速度与位置观测与滤波(使用扩展卡尔曼滤波EKF),状态量和观测量都是非线性的。附MATLAB例程下载链接
开发语言·matlab