將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用

將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用

第一步,定義RosenBrock函數(shù)

(1)      新建文本文檔,在文本輸入?yún)^(qū)內(nèi)輸入如下

def ros_eval(x, y):

   return 100*(y-x*x)*(y-x*x) + (1-x)*(1-x)

 (2)另存為rosenbrock_function.py。退出并關(guān)閉文本文檔。

第二步,將定義函數(shù)添加至首選項(xiàng)文件Preference File

(1)新建文本文檔,輸入如下

*Id("HyperStudy v14.0")

*BeginDefaults()

*BeginPlotDefaults()

*RegisterPythonFunction("ros_eval","<path>/rosenbrock_function.py",2)

*EndPlotDefaults()

*EndDefaults()

 將<path>替換為rosenbrock_function.py所在的路徑。

(2)保存文本文檔為rosenbrock_prefs.mvw,退出并關(guān)閉。

第三步,HyperStudy求解

(1)啟動(dòng)HyperStudy,依次菜單欄“file-Use Preference File- rosenbrock_prefs.mvw file”,此時(shí)完成了首選項(xiàng)文件Preference File的導(dǎo)入。

(2)利用HyperStudy新建Model,類型為Internal Math

(3)定義變量X和Y,如下

34.jpg

將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用的圖2

(4)執(zhí)行Nominal Run

(5)創(chuàng)建并定義輸出響應(yīng),調(diào)用上述定義的RosenBrock函數(shù)。

點(diǎn)擊“Add Output Response”-Response 1 的Expression欄,點(diǎn)擊該欄后方的“…”,彈出對(duì)話框,選擇Functions選項(xiàng)卡,從函數(shù)列表中選擇ros_eval,單擊Insert Varname,將ros_eval函數(shù)插入到文本輸入框。

選擇Input Variables選項(xiàng)卡,依次將X和Y變量插入到ros_eval函數(shù)中,如下圖

35.jpg

將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用的圖4

單擊Evaluation Expression,顯示值為404(解釋,因?yàn)樵O(shè)置的X和Y的初始值均為-1)

第四步,優(yōu)化分析

(1)在Explorer中,新建Optimization

(2)進(jìn)入Select Output Responses分析步,增加Response 1,設(shè)置Objectives為Minimize。

(3)選擇Specifications 為ARSM。

(4)按步驟進(jìn)入Evaluate Tasks,完成優(yōu)化求解。

將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用的圖5

 

36.jpg

將Python定義函數(shù)導(dǎo)入HyperStudy并調(diào)用的圖7

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

1