forked from pa-m/optimize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgss_test.go
50 lines (47 loc) · 1.07 KB
/
gss_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package optimize
import (
"log"
"os"
)
func ExampleGss() {
f := func(x float64) float64 {
tmp := x - 2
return tmp * tmp
}
logger := log.New(os.Stdout, "", 0)
Gss(f, 1, 5, 1e-6, logger)
// Output:
// 0 1 5
// 1 1 3.47214
// 2 1 2.52786
// 3 1.58359 2.52786
// 4 1.58359 2.16718
// 5 1.8065 2.16718
// 6 1.94427 2.16718
// 7 1.94427 2.08204
// 8 1.94427 2.02942
// 9 1.97679 2.02942
// 10 1.97679 2.00932
// 11 1.98922 2.00932
// 12 1.99689 2.00932
// 13 1.99689 2.00457
// 14 1.99689 2.00164
// 15 1.99871 2.00164
// 16 1.99871 2.00052
// 17 1.9994 2.00052
// 18 1.99983 2.00052
// 19 1.99983 2.00025
// 20 1.99983 2.00009
// 21 1.99993 2.00009
// 22 1.99993 2.00003
// 23 1.99997 2.00003
// 24 1.99999 2.00003
// 25 1.99999 2.00001
// 26 1.99999 2.00001
// 27 2 2.00001
// 28 2 2
// 29 2 2
// 30 2 2
// 31 2 2
// 32 2 2
}