go - 在 Go 中为示例 gonum 应用程序声明类型

标签 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)

如有任何建议,我们将不胜感激。

谢谢。

最佳答案

stat.Variance 需要两个长度相同的 []float64 参数:

func Variance(x, weights []float64) float64

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

stat Package Documentation

关于go - 在 Go 中为示例 gonum 应用程序声明类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204118/

相关文章:

go - MarshalJSON 一个字符串声明类型

go - 什么是 C 的三元运算符的惯用 Go 等价物?

heroku - Heroku 上的 Golang 二进制文件

arrays - 当容量减少时, slice 的行为如何?

go - 如何在 gonum 中将矩阵与向量相乘?

go - k8s NewListWatchFromClient 与 NewSimpleClientset 崩溃

go - 如何在 go-lang 中获取矩阵的维数?

go - 利用并发向量化函数

go - 使用 gonum 进行无放回加权采样