检查您的系统是否具有受支持的 Python 版本和 MATLAB R2014b 或更新版本。要检查您的系统上是否已安装 Python,请在操作系统提示符下运行 Python。

1)打开Prompt,输入' cd matlabroot\extern\engines\python' 切换并创建文件夹

输入'python setup.py install' 进行安装。如果提示python版本不对进去下面流程。

2)键入'python –version' 查看python版本。如果版本不符合上一句指令提示,使用conda指令切换python版本。

3)执行命令:conda create --name python34 python=3.4 安装3.4版本

4)执行命令    conda info --envs,从图中我们看到,这里多了一个名字为python34的Python环境.

5)执行命令:python --version,查看当前版本

6)执行命令:activate python34,然后执行命令:python --version,查看是否切换成功.

7)重新执行1)完成安装用于 Python 的 MATLAB 引擎 API。

现在我们想用Spyder来编程,所以需要通过Prompt切换到Spyder(python 3.4)

1)'activate python34' 进入刚才创建的环境。

2)在环境中安装anaconda的库:'conda install anaconda'

3)安装完毕之后键入: 'spyder' 即可进入Spyder(python 3.4)

现在我们可以在Spyder中启动Matlab了

[1]: import matlab.engine

[2]: eng = matlab.engine.start_matlab()

在当前文件夹下创建名为test.m文件,在Python中:

[3]: eng.test(nargout=0) #指定 nargout=0尽管脚本会打印输出,但它不会返回任何输出参数

Matlab中自定义的函数也是可以用Python调用的,打开test.m(只能编写,不能执行),matlab自带函数同理:

>>function a = triarea(b,h)
>>a = 0.5*(b.* h);

回到Spyder:

[4]:ret = eng.triarea(1.0,5.0)
[5]:print(ret) # triarea 函数仅返回一个输出参数,因此无需指定 nargout。
要停止执行 MATLAB 函数,请按 Ctrl+C。控制权将返回给 Python。
程序最后记得退出matlab环境:
[6]:eng.quit()

如何在Python中调用Matlab的更多相关文章

  1. [Python-MATLAB] 在Python中调用MATLAB的API

    可以参考官方的说明文档: http://cn.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for- ...

  2. 如何在python中调用C语言代码

    1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/ ...

  3. 如何在Python中调用打包好的Jar文件?

    首先是在anaconda中进入我这个项目对应的一个环境,然后在这个环境中下载并且安装jpype.那么就可以直接import了.但是这里出现了一系列的问题 第一个问题,getDefaultJVM()报错 ...

  4. 使用ctypes在Python中调用C++动态库

    使用ctypes在Python中调用C++动态库 入门操作 使用ctypes库可以直接调用C语言编写的动态库,而如果是调用C++编写的动态库,需要使用extern关键字对动态库的函数进行声明: #in ...

  5. 如何在Java中调用Python代码

    有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...

  6. Python中调用自然语言处理工具HanLP手记

    手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...

  7. 如何在Python中使用Linux epoll

    如何在Python中使用Linux epoll 内容 介绍 阻塞套接字编程示例 异步套接字和Linux epoll的好处 epoll的异步套接字编程示例 性能考量 源代码 介绍 从2.6版开始,Pyt ...

  8. vs2013如何在C++中调用Lua(二)

    Lua学习笔记 vs2013如何在C++中调用Lua (此为转载教程) 本人试过完全可行 一.准备工作 1.下载Lua源码,地址:http://www.lua.org/download.html(我用 ...

  9. 如何在Delphi中调用VC6.0开发的COM

    上次写了如何在VC6.0下对Delphi写的COM进行调用,原本想马上写如何在Delphi中调用VC6.0开发的COM时,由于在写事例程序中碰到了个很怪的问题,在我机子上用VC写的接口程序编译能通过. ...

随机推荐

  1. A*搜索详解(2)——再战觐天宝匣

    书接上文.在坦克寻径的,tank_way中,A*算法每一步搜索都是选择F值最小的节点,步步为营,使得寻径的结果是最优解.在这个过程中,查找最小F值的算法复杂度是O(n),这对于小地图没什么问题,但是对 ...

  2. 关于jeesite的陷阱需要注意

    jeesite,其框架主要为: 后端 核心框架:Spring Framework 4.0 安全框架:Apache Shiro 1.2 视图框架:Spring MVC 4.0 服务端验证:Hiberna ...

  3. Hbase各版本环境要求

    1.HBase各版本JDK支持情况           HBase Version JDK 7 JDK 8 JDK 9 JDK 10 2.0 Not Supported yes Not Support ...

  4. [delphi]在DLL中多线程同步Synchronize卡死问题

    在dll中多线程同步调用Synchronize不可以,会出现假死卡住的现象.可通过Sendmessage实现. 转网上其他文章解释: Application.Initialize; begin     ...

  5. sort简单用法

    -u 去重## 查看文件内容cat test_sort.txt ## sort -u 去重cat test_sort.txt |sort -u----------------------------- ...

  6. hive 的map数和reduce如何确定(转)

    转自博客:https://blog.csdn.net/u013385925/article/details/78245011(没找到原创者,该博客也是转发)   一.    控制hive任务中的map ...

  7. oracle over 函数几个例子

    测试使用的数据为scott/tiger模式下的emp表: 我们使用JOB和SAL这两个列测试: 上面语句指按照职业JOB分组(partition by job)然后在每个分组内,按照薪水(sal)进行 ...

  8. 'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    之前python2.7是没有pip的,需要安装python3.6 以上. 但是安装3.6版本后,还是一样.官网提示需要执行以下命令:python -m ensurepip --default-pip ...

  9. vue 路由参数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. React开发环境搭建(react,babel,webpack webpack-dev-server)

    最终效果: 配置webpack 自动编译脚本, 内容更改后浏览器页面自动刷新,提高效率. 主要靠webpack 的watch 功能. npm 全局安装的包: webpack webpack-cli w ...