Flask接口签名sign原理与实例代码浅析
859
2022-12-29
java计算方差、标准差(均方差)实例代码
java计算标准差思路
//方差s^2=[(x1-x)^2 +...(xn-x)^2]/n 或者s^2=[(x1-x)^2 +...(xn-x)^2]/(n-1)
public static double Variance(double[]http:// x) {
int m=x.length;
double sum=0;
for(int i=0;i sum+=x[i]; } double dAve=sum/m;//求平均值 double dVar=0; for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } return dVar/m; } //标准差=sqrt(s^2) public static double StandardDiviation(double[] x) { int m=x.length; double sum=0; for(int i=0;i sum+=x[i]; } double dAve=sum/m;//求平均值 double dVar=0; for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } //reture Math.sqrt(dVar/(m-1)); return Math.sqrt(dVar/m); } //BigDecimal 的sqrt方法 private static BigDecimal sqrt(BigDecimal num) { if (num.compareTo(BigDecimal.ZERO) < 0) { return BigDecimal.ZERO; } BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128); while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ; return x; } private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) { return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathConhttp://text.DECIMAL128); } 有需要的朋友们可以测试下以上代码,感谢大家的学习和对我们的支持。
sum+=x[i];
}
double dAve=sum/m;//求平均值
double dVar=0;
for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } return dVar/m; } //标准差=sqrt(s^2) public static double StandardDiviation(double[] x) { int m=x.length; double sum=0; for(int i=0;i sum+=x[i]; } double dAve=sum/m;//求平均值 double dVar=0; for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } //reture Math.sqrt(dVar/(m-1)); return Math.sqrt(dVar/m); } //BigDecimal 的sqrt方法 private static BigDecimal sqrt(BigDecimal num) { if (num.compareTo(BigDecimal.ZERO) < 0) { return BigDecimal.ZERO; } BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128); while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ; return x; } private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) { return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathConhttp://text.DECIMAL128); } 有需要的朋友们可以测试下以上代码,感谢大家的学习和对我们的支持。
dVar+=(x[i]-dAve)*(x[i]-dAve);
}
return dVar/m;
}
//标准差=sqrt(s^2)
public static double StandardDiviation(double[] x) {
int m=x.length;
double sum=0;
for(int i=0;i sum+=x[i]; } double dAve=sum/m;//求平均值 double dVar=0; for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } //reture Math.sqrt(dVar/(m-1)); return Math.sqrt(dVar/m); } //BigDecimal 的sqrt方法 private static BigDecimal sqrt(BigDecimal num) { if (num.compareTo(BigDecimal.ZERO) < 0) { return BigDecimal.ZERO; } BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128); while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ; return x; } private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) { return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathConhttp://text.DECIMAL128); } 有需要的朋友们可以测试下以上代码,感谢大家的学习和对我们的支持。
sum+=x[i];
}
double dAve=sum/m;//求平均值
double dVar=0;
for(int i=0;i dVar+=(x[i]-dAve)*(x[i]-dAve); } //reture Math.sqrt(dVar/(m-1)); return Math.sqrt(dVar/m); } //BigDecimal 的sqrt方法 private static BigDecimal sqrt(BigDecimal num) { if (num.compareTo(BigDecimal.ZERO) < 0) { return BigDecimal.ZERO; } BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128); while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ; return x; } private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) { return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathConhttp://text.DECIMAL128); } 有需要的朋友们可以测试下以上代码,感谢大家的学习和对我们的支持。
dVar+=(x[i]-dAve)*(x[i]-dAve);
}
//reture Math.sqrt(dVar/(m-1));
return Math.sqrt(dVar/m);
}
//BigDecimal 的sqrt方法
private static BigDecimal sqrt(BigDecimal num) {
if (num.compareTo(BigDecimal.ZERO) < 0) {
return BigDecimal.ZERO;
}
BigDecimal x = num.divide(new BigDecimal("2"), MathContext.DECIMAL128);
while (x.subtract(x = sqrtIteration(x, num)).abs().compareTo(new BigDecimal("0.0000000000000000000001")) > 0) ;
return x;
}
private static BigDecimal sqrtIteration(BigDecimal x, BigDecimal n) {
return x.add(n.divide(x, MathContext.DECIMAL128)).divide(new BigDecimal("2"), MathConhttp://text.DECIMAL128);
}
有需要的朋友们可以测试下以上代码,感谢大家的学习和对我们的支持。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~