java求标准差
时间: 2023-11-04 21:15:58 浏览: 31
计算标准差的公式是:
```
标准差 = sqrt(方差)
方差 = (每个数值与平均值的差的平方的和) / (数值的个数 - 1)
```
下面是 Java 代码实现:
```java
public static double standardDeviation(double[] nums) {
double sum = 0.0;
double avg = 0.0;
double variance = 0.0;
double standardDeviation = 0.0;
int n = nums.length;
// 计算平均值
for (double num : nums) {
sum += num;
}
avg = sum / n;
// 计算方差
for (double num : nums) {
variance += Math.pow(num - avg, 2);
}
variance /= (n - 1);
// 计算标准差
standardDeviation = Math.sqrt(variance);
return standardDeviation;
}
```
你可以将要计算标准差的数值存储在一个 double 类型的数组中,然后调用上面的方法即可得到标准差。
相关问题
java 计算标准差
计算标准差的公式为:
标准差 = sqrt(∑(x-μ)² / n)
其中,x是样本数据,μ是样本数据的平均值,n是样本数据的个数。
以下是 Java 代码实现:
```java
public static double standardDeviation(double[] data) {
int n = data.length;
double sum = 0.0;
double mean = 0.0;
double dev = 0.0;
for (double d : data) {
sum += d;
}
mean = sum / n;
for (double d : data) {
dev += (d - mean) * (d - mean);
}
return Math.sqrt(dev / n);
}
```
其中,data是一个double类型的数组,包含了样本数据。函数返回一个double类型的值,即标准差。
BigDecimal java 标准差方法
根据提供的引用内容,没有直接提到BigDecimal类中计算标准差的方法。但是,我们可以通过BigDecimal类中的其他方法来计算标准差。下面是一个使用BigDecimal类计算标准差的示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class StandardDeviation {
public static void main(String[] args) {
BigDecimal[] nums = {new BigDecimal("2.5"), new BigDecimal("3.7"), new BigDecimal("4.1"), new BigDecimal("5.0"), new BigDecimal("6.3")};
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal num : nums) {
sum = sum.add(num);
}
BigDecimal mean = sum.divide(new BigDecimal(nums.length), 2, RoundingMode.HALF_UP);
BigDecimal variance = BigDecimal.ZERO;
for (BigDecimal num : nums) {
variance = variance.add(num.subtract(mean).pow(2));
}
BigDecimal standardDeviation = variance.divide(new BigDecimal(nums.length), 2, RoundingMode.HALF_UP).sqrt();
System.out.println("标准差为:" + standardDeviation);
}
}
```
上述代码中,我们首先定义了一个BigDecimal类型的数组nums,其中包含了一些数字。然后,我们计算这些数字的平均值mean,并计算每个数字与平均值的差的平方的和,即方差variance。最后,我们计算方差的平均值的平方根,即标准差standardDeviation。