python调用并链接MATLAB脚本详解

yipeiwu_com5年前Python基础

发现一个很简单的配置方法,一直想写的没写上,今天抽空就把它给补充完整好了。

本文的配置方法Windows,Mac和Linux系统均适合。

一.安装MATLAB Engine API for python

install MATLAB Engine API for Python

Windows系统

cd "matlabroot\extern\engines\python"
python setup.py install

Mac or Linux系统

cd "matlabroot/extern/engines/python"
python setup.py install

这里的"matlabroot"是你matlab所在的安装路径,注意,上面两个地址中的反斜杠是不同的。

二.用Python调用脚本或者函数

Call User Script and Function from Python

脚本

在当前目录下,MATLAB建立triarea.m脚本文件,内容如下

b = 5;
h = 3;
a = 0.5*(b.* h)

然后同目录下新建一个test.py,内容如下

import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)

函数

MATLAB建立一个function文件,内容如下:

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

同样,test.py修改如下:

import matlab.engine
eng = matlab.engine.start_matlab()
ret = eng.triarea(1.0,5.0)
print(ret) # 2.5

是不是觉得特别方便?惊不惊喜,意不意外,枉费我之前用mlab时在windows下配置了那么多,后来在Linux下没成功的时候,无意间就发现了这个方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python正则表达式匹配数字和小数的方法

Python正则表达式匹配数字和小数的方法

1.正则匹配数字,\为转义字符,d+为匹配一次或多次 如下所示:返回的结果为列表 2.正则匹配小数 如下所示,返回的结果125.6为字符串 总结  以上所述是小编给大家介绍...

让你Python到很爽的加速递归函数的装饰器

今天我们会讲到一个[装饰器] 注记:链接“装饰器”指Python3教程中的装饰器教程。可以在这里快速了解什么是装饰器。 @functools.lru_cache——进行函数执行结果备忘,...

python实现socket客户端和服务端简单示例

复制代码 代码如下:import socket#socket通信客户端def client():    mysocket=socket.socket(soc...

python斐波那契数列的计算方法

题目: 计算斐波那契数列。具体什么是斐波那契数列,那就是0,1,1,2,3,5,8,13,21,34,55,89,144,233。 要求: 时间复杂度尽可能少 分析: 给出了...

Python编程实现tail-n查看日志文件的方法

1、函数实现 # -*- coding: utf-8 -*- def tail(filename, n=10): with open(filename, "r") as f:...