Python与Matlab/Simulink交互(一)

python与simulink交互,最终也是和matlab交互,交互过程有两个关键点

本节先讲第一个关键点

python调用matlab的m文件,读取和增加matlab工作区的数据

1.  conda激活虚拟环境
conda activate 虚拟环境
2.  查看python和matlab版本对应与否

我的虚拟环境python = 3.7,安装的matlab = R2019b

其他python和matlab版本对应详情请看Python版本与MATLAB产品兼容版本 - MATLAB & Simulink (mathworks.com)

3.  cd到安装matlab的文件目录下
cd/d d:\matlabR2019b\extern\engines\python
4.  在matalb根目录中安装python包形式的引擎API,注意依次运行
python setup.py build --build-base="builddir" install
python setup.py install --prefix="installdir"
python setup.py build --build-base="builddir" install --prefix="installdir"
python setup.py install --user
5.  测试

m文件样例,注意m文件和python文件在同一目录下

a = 5; b = 7;
c = a + b;
d = c + sin(b);
e = 5 * d;
f = exp(-d);

python文件样例

import matlab.engine
# 在 python 中导入 matlab 引擎

eng = matlab.engine.start_matlab()
eng.simulink_test(nargout = 0)
# 通过 eng 运行 m 文件样例  "simulink_test.m", nargout = 0表示不返回输出

c = eng.eval('c')
# 用 matlab 的 eval 函数读取 m 文件的变量c
d = eng.eval('d')
e = eng.eval('e')
f = eng.eval('f')
print('c:%d, d:%f, e:%f, f:%f'%(c, d, e, f))

g = 11111
eng.workspace['g'] = g
# 在 matlab 工作区写入变量 g
print(eng.eval('g'))

eng.quit() 
# 退出 matlab 引擎

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值