软件:

Python 3.7.0

Matlab 2019b

环境:

Win10

首先要明白,python调用matlab,仅支持python2.6,3.6,3.7这几个版本  其他版本是不行。

问题1:python为3.8版本以上的怎么更改3.7或者3.6版本?

查看当前版本,发现为3.8.8。

  • 下载python3.7 并安装。这里不再赘述(注意安装的路径这很重要

例如:

  • 进入Scripts 文件夹,删除pip文件。
  • 进入环境变量配置页面
  • 点击“确定”,

    “win+R” 输入“cmd”   “回车”   打开命令提示符

    接下来,进行对python与matlab的接口进行设置。

    首先找到matlab中“setup.py”的路径,记录一下G:\matlab2019b\extern\engines\python

    上面这个是我的路径,你只需要找到自己matlab下的python文件中的setup.py,就证明找对了。

    打开命令提示符 进入到G:\matlab2019b\extern\engines\python此路径下

  • 在此路径下,输入, python setup.py install --prefix="c:\work\matlab19aPy36"

    测试是否可以调用?

    还需将parcharm中的环境进行修改

  • Python调用程序如下

    import matlab.engine
    
    eng = matlab.engine.start_matlab()

    ret = eng.triatea(1.0,5.0)
    print(ret)


    matlab文件如下(被调用函数为triatea)

    function a = triatea(b,h)

    a = 0.5*(b* h);

    在此处运行程序

     发现报错了

  • 将python程序再次修改

    import matlab.engine
    
    eng = matlab.engine.start_matlab()
    eng.cd('G:\matlab2019b\extern\engines\python',nargout=0#python 要与 被调用的.m文件在同一文件夹下。  否则出现调用失败。

    ret = eng.triatea(1.0,5.0)
    print(ret)

    再次运行,发现成功了

     

  • 到此 修改python版本,matlab接口设置全部完毕

    可以自由地进行调用matlab 了,但是,此方法有一个缺点就是慢。对于大型计算来说,还是进行代码翻译,或者另寻他法吧。

    本人为python新手一个,如有赘述,不喜勿喷。

    参考博客https://www.cnblogs.com/beginner-boy/p/7248399.html链接制作,如有侵权,请与本人联系。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐