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引擎已关闭")

相关推荐
星夜离尘5612 小时前
MATLAB ADC 码流触顶诊断:命中数、缺口分段与削顶不可辨识性
开发语言·matlab
Evand J17 小时前
【MATLAB例程】平面下,5基站对待定位点的定位。基于距离辅助下的AOA。完整代码下载链接
开发语言·matlab·平面·定位·导航·测距·aoa
iCxhust19 小时前
MATLAB SPWM仿真
开发语言·matlab
Moonnnn.2 天前
【MATLAB】零基础入门
matlab
且撷相思红豆枝3 天前
Simulink学习笔记(一)
笔记·学习·matlab
星夜离尘563 天前
MATLAB 角度解缠遇到丢样:先分段,再说明圈数为什么不可恢复
开发语言·matlab
chhttty4 天前
Simulink电机控制框架
matlab·simulink
星夜离尘564 天前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
大江东去浪淘尽千古风流人物5 天前
【HIMO】跨模态图像匹配算法:IMO方向场提取与PolarP描述符源码精讲
matlab·跨模态·遥感·图像匹配·1024程序员节·特征描述符
星夜离尘565 天前
MATLAB 因果采样保持:用历史匹配和数据年龄防止未来信息泄漏
数据结构·算法·matlab