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




沒有留言:

張貼留言

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站 (ESP32 + DHT22 + 1602 LCD)

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站(溫度 濕度) (ESP32 + DHT22 + 1602 LCD) 想學物聯網(IoT)與 ESP32 電子實作,卻擔心接線與電壓規範搞砸嗎?透過強大的線上模擬器 Wokwi ,我們不需要花費任何硬體費用,打開瀏覽器...