Python如何调用MATLAB!!!附有实例和详细讲解

21 篇文章 5 订阅

Python和MATLAB版本

Python调用MATLAB的脚本或者函数,只支持少数的Python版本, 2.7、 3.5、3.6.

如何知道自己的Python版本?

Win+R 输入 cmd ,输入

python

即可。
在这里插入图片描述
前面是版本,为Python3.6.6 ,后面是位数,64位,要保证MATLAB与Python都是同等位数,即Python是64位的,MATLAB也必须是64位的,32位的同理。

如果Python版本过高怎么办?

方法1: 网上找到版本降低的方法,就可以了,很多文章都有写。(注意python环境和Anaconda的步骤不一样)

方法2:个人觉得是比较彻底、好用的方法!!!
卸载!!重装!!!
打开软件管家
卸载
搜“python”
卸载出现的python版本
然后下载新的python3.6即可

MATLAB的选择版本

我两个电脑,一个是2018版本的,一个是2020版本的,目前来说都可以连接,网上一些资料显示2017也可以。

Python调用MATLAB的过程

1、到MATLAB的安装目录,实在找不到,就打开MATLAB软件,输入:

matlabroot

返回下图效果:
在这里插入图片描述
表明,matlab安装在D盘的MATLAB2020文件夹内。

2、依此找到该文件夹下的extern>engines>python,如下
在这里插入图片描述
可以看到,文件夹内有一个setup.py的文件。

3、然后,我们在2中红框的位置输入cmd,然后按Enter键,进入DOS窗口。
在这里插入图片描述
4、出来下图窗口:
在这里插入图片描述
5、输入:

python setup.py install

效果如下
在这里插入图片描述
如果安装过了,再重复步骤5,效果应该是如下:
在这里插入图片描述
这时,正常来说就安装好了!!!

如何测试python 是否可以调用MATLAB程序

在同一个(必须是同一个)文件夹下,新建两个程序文件,一个是.py的,一个是.m的。
.m文件代码:

function x=myls(A,B)
a = double(A)
b = double(B)
 x = a\b;
end 

如图:
在这里插入图片描述
.py文件代码:

import matlab
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.myls(4,2)
print(t)

如图:
在这里插入图片描述
上式是调用matlab的函数如myls的。

如何调用MATLAB文件呢,让某个.m文件自己运行?

在这里插入图片描述
如图,Python调用matlab中的mainTest.m文件,直接运行mainTest.m文件。将

t = eng.myls(4,2)  #调用函数的(参数1,参数2)
t = eng.mainTest(nargout=0) #直接运行的话(参数=0)

运行效果:

在这里插入图片描述

问题1:每次运行都会很慢

因为要读取matlab的环境,所以每次运行都要等好久,如果大佬们有什么可以优化速度的方法,也请告知告知我!!!

问题2:Pycharm运行出现:No module named matlab

我用pycharm打开一个测试程序显示“no module named matlab”,可以打开setting,去解释器中安装matlab,但是我的没有,只有“r-matlab ”,我安装了也不行。

解决办法

我直接用Python打开程序,可以运行。就是下图这玩意:
在这里插入图片描述

如此,Python调用MATLAB的入坑出坑方法就算有了个总结了。

参考连接

https://blog.csdn.net/qq_28773183/article/details/89409546?utm_term=python%E8%BF%90%E8%A1%8Cmatlab%E7%A8%8B%E5%BA%8F&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-2-89409546&spm=3001.4430

https://blog.csdn.net/sunny_xsc1994/article/details/79254196

写在最后:

你要相信大多数人与人之间的差距并不大,但是0.99的N次方和1.1的N次方差距是随着N多增多而越来越大的;坚定的目标和持久的努力一定会成功!

你偷过的每一个懒,都会成为你日后最深的遗憾。

我是通信不二,一个积极努力,乐观向上的程序猿!!!

  • 41
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值