java 方差_使用java计算数组方差和标准差

使用java计算数组方差和标准差

觉得有用的话,欢迎一起讨论相互学习~

c8a597895237a09ffe2123824c14b080.png8611a7aff46786098b4f4e62a4f333be.pnge3fa8eb7b07286b650256b5033bef822.png

首先给出方差和标准差的计算公式

07f35f69e01cac720a9b568fe4208967.png

96f639a177980ac4841cbade6af13fb2.png

代码

public class Cal_sta {

double Sum(double[] data) {

double sum = 0;

for (int i = 0; i < data.length; i++)

sum = sum + data[i];

return sum;

}

double Mean(double[] data) {

double mean = 0;

mean = Sum(data) / data.length;

return mean;

}

// population variance 总体方差

double POP_Variance(double[] data) {

double variance = 0;

for (int i = 0; i < data.length; i++) {

variance = variance + (Math.pow((data[i] - Mean(data)), 2));

}

variance = variance / data.length;

return variance;

}

// population standard deviation 总体标准差

double POP_STD_dev(double[] data) {

double std_dev;

std_dev = Math.sqrt(POP_Variance(data));

return std_dev;

}

//sample variance 样本方差

double Sample_Variance(double[] data) {

double variance = 0;

for (int i = 0; i < data.length; i++) {

variance = variance + (Math.pow((data[i] - Mean(data)), 2));

}

variance = variance / (data.length-1);

return variance;

}

// sample standard deviation 样本标准差

double Sample_STD_dev(double[] data) {

double std_dev;

std_dev = Math.sqrt(Sample_Variance(data));

return std_dev;

}

}

测试代码

public class testcal_sta {

public static void main(String arg[]) {

Cal_sta cal = new Cal_sta();

double[] testdata = {2, 4, 6, 7, 8, 9, 12, 36};

System.out.println("总和Sum " + cal.Sum(testdata));

System.out.println("平均值Mean " + cal.Mean(testdata));

System.out.println("总体方差Population Variance " + cal.POP_Variance(testdata));

System.out.println("总体标准差Population STD_dev " + cal.POP_STD_dev(testdata));

System.out.println("样本方差Sample Variance " + cal.Sample_Variance(testdata));

System.out.println("样本标准差Sample STD_dev " + cal.Sample_STD_dev(testdata));

}

}

结果

c1a1557a6847e4a9521ac7c3d79a5cfa.png

对比

f5c6a3f7ec413b76770acddcc00d7cf8.png

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值