Java通过平均值计算标准差和均方根
时间: 2024-11-26 10:21:00 浏览: 5
在Java中,你可以使用`java.util.stream`包下的API来进行流(Stream)操作,轻松计算标准差和均方根。这里提供一个简单的例子:
```java
import java.util.Arrays;
import java.util.stream.DoubleStream;
public class Main {
public static void main(String[] args) {
// 假设我们有一组数字
double[] data = {10, 20, 30, 40, 50};
// 计算平均值
double average = Arrays.stream(data).average().orElse(Double.NaN);
// 计算标准差
Double standardDeviation = Arrays.stream(data)
.map(d -> Math.pow(d - average, 2))
.average()
.orElse(Double.NaN)
.sqrt();
// 计算均方根
double rmse = Math.sqrt(Arrays.stream(data)
.map(d -> Math.pow(d - average, 2))
.average()
.orElse(Double.NaN));
System.out.println("Average: " + average);
System.out.println("Standard Deviation: " + standardDeviation);
System.out.println("RMS (Root Mean Square): " + rmse);
}
}
```
上述代码首先计算了数组的平均值,然后对每个数值减去平均值得到偏差的平方,接着求出这些平方值的平均并开平方得到标准差。而计算均方根则是直接取偏差平方的平均值的平方根。
阅读全文