Python如何调用MATLAB!!!附有实例和详细讲解 您所在的位置:网站首页 化学品安全技术说明书是什么文件 Python如何调用MATLAB!!!附有实例和详细讲解

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

2024-02-25 21:41| 来源: 网络整理| 查看: 265

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多增多而越来越大的;坚定的目标和持久的努力一定会成功!

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有