偏差值(自用)

public class Deviation {
    /*输入*/
    private double[]r;

    public Deviation(double[] r) {
        this.r = r;
    }

    /*平均值*/
    static double ave(double[]r){
        double sum = 0;
            for (int i = 0; i < r.length; i++) {//求和
                sum += r[i];
        }
        double dAve = sum / r.length;
        return dAve;
    }
    static double ave(ArrayList<Double>x){
        double sum = 0;
        for (int i=0;i< x.size();i++){//求和
            sum += x.get(i);
        }
        double dAve = sum / x.size();
        return dAve;
    }

   /*方差*/
   static double var(double[]r){
       double sum = 0;
       double sumdave =0;
       for (int i = 0; i < r.length; i++) {//求和
           sum += r[i];
       }
       double dAve = sum / r.length;
       for (int i = 0; i < r.length; i++) {
           sumdave += Math.abs(r[i] - dAve);
           }
       double avr = sumdave / r.length;
       return avr;
   }
    static double var(ArrayList<Double>x){
        double sum = 0;
        double sumdave =0;
        for (int i=0;i< x.size();i++){//求和
            sum += x.get(i);
        }
        double dAve = sum / x.size();
        for (int i = 0; i < x.size(); i++) {
            sumdave += Math.abs(x.get(i) - dAve);
        }
        double avr = sumdave /x.size();
        return avr;
    }

   /*标准差*/
   static double dr(double[]r){
       double sum = 0;
       double sumdave =0;
       for (int i = 0; i < r.length; i++) {//求和
           sum += r[i];
       }
       double dAve = sum / r.length;
       for (int i = 0; i < r.length; i++) {
           sumdave += Math.abs(r[i] - dAve);
       }
       double avr = sumdave / r.length;
       double dr = Math.sqrt(avr);
       return dr;
   }
    static double dr(ArrayList<Double>x){
        double sum = 0;
        double sumdave =0;
        for (int i=0;i< x.size();i++){//求和
            sum += x.get(i);
        }
        double dAve = sum / x.size();
        for (int i = 0; i < x.size(); i++) {
            sumdave += Math.abs(x.get(i) - dAve);
        }
        double avr = sumdave /x.size();
        double dr = Math.sqrt(avr);
        return dr;
    }

    static double dS(ArrayList<Double>x,ArrayList<Double>y,ArrayList<Double>z){
        double sum = 0;
        double sumdave =0;
        for (int i=0;i< x.size();i++){//求和
            sum += x.get(i);
        }
        double dAvex = sum / x.size();
        for (int i=0;i< y.size();i++){//求和
            sum += y.get(i);
        }
        double dAvey = sum / y.size();
        for (int i=0;i< z.size();i++){//求和
            sum += z.get(i);
        }
        double dAvez = sum / z.size();
        for (int i = 0; i < x.size(); i++) {
            sumdave += Math.abs(x.get(i) - dAvex)*Math.abs(x.get(i) - dAvex)+Math.abs(y.get(i) - dAvey)*Math.abs(y.get(i) - dAvey)+Math.abs(z.get(i) - dAvez)*Math.abs(z.get(i) - dAvez);
        }
        double avr = sumdave /x.size();
        double dr = Math.sqrt(avr);
        return dr;
    }
    static double dS(ArrayList<double[]>x){
        double sum1 = 0;
        double sum2 = 0;
        double sum3 = 0;
        double sumdave =0;
        for (int i=0;i< x.size();i++){//求和
            sum1 += x.get(i)[0];
            sum2 += x.get(i)[1];
            sum3 += x.get(i)[2];
        }
        double dAve1 = sum1 / x.size();
        double dAve2 = sum2 / x.size();
        double dAve3 = sum3 / x.size();
        for (int i = 0; i < x.size(); i++) {
            sumdave += Math.abs(x.get(i)[0] - dAve1)*Math.abs(x.get(i)[0] - dAve1)+Math.abs(x.get(i)[1] - dAve2)*Math.abs(x.get(i)[1] - dAve2)+Math.abs(x.get(i)[2] - dAve3)*Math.abs(x.get(i)[2] - dAve3);
        }
        double avr = sumdave /x.size();
        double dr = Math.sqrt(avr);
        return dr;
    }


}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值