在Go中为类型gonum应用程序声明类型

时间:2018-05-06 20:14:40

标签: go gonum

作为numpy的忠实粉丝,我很高兴地发现golang的图书馆正在进行中。我写了一个很小的测试程序,主要基于文档,如下所示:

package main

import (

    "fmt"
    "math"
    "gonum.org/v1/gonum/stat"
)

func main() {

    xs := []float64 {

        23.32, 44.32, 100.12, 191.90,
        23.22, 90.21, 12.22, 191.21,
        1.21, 12.21, 34.23, 91.02,
    }

    variance := stat.Variance(xs)
    fmt.Printf("Data: %v\n", xs)

    stddev := math.Sqrt(variance)

    fmt.Printf("Standard deviation: %d\n\n", stddev)
}

当我尝试构建程序时,我注意到以下编译器错误:

C:\>go build hello.go
# command-line-arguments
.hello.go:19:30: not enough arguments in call to stat.Variance
        have ([]float64)
        want ([]float64, []float64)

任何建议都会受到最高的赞赏。

谢谢。

1 个答案:

答案 0 :(得分:4)

stat.Variance期望两个类型为[]float64的参数长度相同:

func Variance(x, weights []float64) float64

您缺少weights参数。 如果要将随机变量的所有权重设置为1,可以将nil作为stat.Variance函数的第二个参数传递。

stat Package Documentation