package main
import (
"fmt"
maths "github.com/ematvey/go-fn/fn"
)
var avg float64
func main() {
A := []float64{2, 3, 5, 7, 11, 13}
avg := maths.ArithMean(A)
fmt.Println(avg)
}
我无法调用ArithMean函数。它给出了错误:
在fn.ArithMean的参数中不能使用A(类型[] float64)作为类型* fn.Vector
答案 0 :(得分:0)
type Vector type Vector struct { A []float64 // data L int // length }
例如,
package main
import (
"fmt"
maths "github.com/ematvey/go-fn/fn"
)
func main() {
a := []float64{2, 3, 5, 7, 11, 13}
v := &maths.Vector{A: a, L: len(a)}
avg := maths.ArithMean(v)
fmt.Println(avg)
}
输出:
6.833333333333333
其他统计软件包可能更容易使用,也更直观。
例如,
函数均值
func Mean(x, weights []float64) float64
均值计算数据集的加权平均值。
sum_i {w_i * x_i} / sum_i {w_i}
如果权重为零,则所有权重均为1。 零,则len(x)必须等于len(weights)。
package main
import (
"fmt"
"gonum.org/v1/gonum/stat"
)
func main() {
a := []float64{2, 3, 5, 7, 11, 13}
mean := stat.Mean(a, nil)
fmt.Println(mean)
}
输出:
6.833333333333333