2019年2月20日 星期三

Julia 語言 ---非線性函數的最小值

Julia語言 ---非線性函數的最小值


找到使非線性函數f(x)最小化的值x的問題。

你可以使用這個包Optim。

http://julianlsolvers.github.io/Optim.jl/stable/#user/minimization/

Julia啟動後 ,使用 模組式並輸入Pkg.add ("Optim") 。




找到最小化的x和y對

using Optim
f(x) = (1.0 - x[1])^2 + 100.0 * (x[2] - x[1]^2)^2
x0 = [0.0, 0.0] #初始值設為0,0。
a1 = optimize(f, x0)
xsol = Optim.minimizer(a1) #x最小化函數f的值
println("xsol = $xsol")
fmin = Optim.minimum(a1) #函數f的最小值
println("fmin = $fmin")


輸出結果
xsol = [0.999963, 0.999932]
fmin = 3.5255270584829996e-9




沒有留言:

張貼留言

MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構

MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構 這張圖片展示了一個 結合 MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構 (主要透過 Node-RED 進行資料整合)。 系統包含三個核心部分,其運作功能說明如下: 1. ESP32 終端設備(硬體控制層...