python如何调用matlab程序_如何在Abaqus的python中调用Matlab程序

1. 确定版本信息

Abaqus2018

操作系统Win10 64位

Python版本2.7(路径C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7)

2. 备份python

将上述的“python2.7”文件夹复制出来,避免因操作错误而导致的重新安装Abaqus

然后打开python2.7文件夹,把里面的python.exe和pythonw.exe复制出来,分别命名为python27.exe和pythonw27.exe;该操作便于后续确定环境配置是否正确。

3. 设置环境变量

确保使用的是abaqus中的python版本,更改环境变量

C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7

C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7\Scripts

按win+R 出现 运行 窗口,输入cmd,打开cmd窗口

然后输入python27回车,将弹出如下界面,则设置没有问题。

4. 安装程序

为了在python中可以调用matlab的程序,配置过程如下:

matlab中python的路径C:\Program Files\MATLAB\R2016b\extern\engines\python

以管理员程序运行命令行工具,在cmd窗口下,进入到上述路径。

cd "C:\Program Files\MATLAB\R2016b\extern\engines\python"

然后输入python setup.py install

5. 调试运行

调试运行在Abaqus的python命令行工具中进行。

在Abaqus中配置工作路径

import sys

sys.path.append(r'H:\Abaqus\GUI\abaqus_plugins\Lib')

定义Matlab函数

function [ out ] = countNumbers( a,b )

out = a+b;

end

在Python中调用该函数

import sys

sys.path.append(r'H:\Abaqus\GUI\abaqus_plugins\Lib')

import matlab.engine

eng = matlab.engine.start_matlab()

sum = eng.countNumbers(matlab.double([5]),matlab.double([4]))

print(sum)

注意:matlab对数类型要求较为严格,在输入参数时,应当采用上述方式:matlab.double([5]),期中括号内的变量为列表

参考资料

你可能感兴趣的:(python如何调用matlab程序_如何在Abaqus的python中调用Matlab程序)