import Foundation
func calculateMean(_ data: [Double]) -> Double {
guard !data.isEmpty else { return 0.0 }
let sum = data.reduce(0, +)
return sum / Double(data.count)
}
func calculateStandardDeviation(_ data: [Double], mean: Double) -> Double {
guard data.count > 1 else { return 0.0 }
let sumOfSquaredDiffs = data.map { pow($0 - mean, 2) }.reduce(0, +)
let variance = sumOfSquaredDiffs / Double(data.count - 1)
return sqrt(variance)
}
let numbers: [Double] = [3.4, 1.8, 4.3, 5.0, 6.2]
let mean = calculateMean(numbers)
let stddev = calculateStandardDeviation(numbers, mean: mean)
print(String(format: "Mean: %.2f", mean))
print(String(format: "Standard Deviation: %.2f", stddev))
/*
run:
Mean: 4.14
Standard Deviation: 1.66
*/