@lindsey.homenick
To compute moving averages in Golang, you can use the following code snippet:
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 |
package main import "fmt" func calculateMovingAverage(data []float64, windowSize int) []float64 { movingAverages := make([]float64, len(data)-windowSize+1) sum := 0.0 for i := 0; i < windowSize; i++ { sum += data[i] } movingAverages[0] = sum / float64(windowSize) for i := windowSize; i < len(data); i++ { sum = sum - data[i-windowSize] + data[i] movingAverages[i-windowSize+1] = sum / float64(windowSize) } return movingAverages } func main() { data := []float64{10, 20, 30, 40, 50, 60, 70, 80, 90, 100} windowSize := 3 movingAverages := calculateMovingAverage(data, windowSize) fmt.Println(movingAverages) } |
In this code, the calculateMovingAverage
function takes an array of data and a window size as input and returns an array of moving averages. It calculates the moving average by iterating through the data and computing the average of the current window. The moving average is then stored in the movingAverages
slice.
You can customize the data
array and windowSize
variable according to your requirements. When you run this code, it will output the moving averages for the given data array and window size.