ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-03-10 16:02:01  阅读:295  来源: 互联网

标签:调用 Abaqus python python2.7 Python matlab 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回车,将弹出如下界面,则设置没有问题。
    65fefa2db42168d2efcd7d7039328c1e.png

4. 安装程序

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

  1. matlab中python的路径C:\Program Files\MATLAB\R2016b\extern\engines\python
  2. 以管理员程序运行命令行工具,在cmd窗口下,进入到上述路径。
cd "C:\Program Files\MATLAB\R2016b\extern\engines\python"
  1. 然后输入python setup.py install

5. 调试运行

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

  1. 在Abaqus中配置工作路径
import sys
sys.path.append(r'H:\Abaqus\GUI\abaqus_plugins\Lib')
  1. 定义Matlab函数
function [ out ] = countNumbers( a,b )
    out = a+b;
end
  1. 在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]),期中括号内的变量为列表

参考资料

【1】abaqus安装python第三方程序包/模块示意
【2】Install Matlab Engine API for Python
【3】在python中调用matlab函数
【4】从 Python 中调用用户脚本和函数
【5】Python调用Matlab

标签:调用,Abaqus,python,python2.7,Python,matlab,Matlab
来源: https://www.cnblogs.com/gaozihan/p/12456218.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有