如何在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回車,將彈出如下界面,則設置沒有問題。
    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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM