Integral jarak

 avatar
unknown
java
3 years ago
2.0 kB
8
Indexable
    public Double Calculate(float time, float[] acceleration){
        if (acceleration.length>2 ){
            if (acceleration[2] < pref.getFloat("upper",3) &&
                    acceleration[2] > pref.getFloat("lower",-3)){
                DataCSV data = new DataCSV(Double.valueOf(time), Double.valueOf(acceleration[0]),
                        Double.valueOf(acceleration[1]), Double.valueOf(acceleration[2]));
                dataAsli.add(data);
                //Integral Kecepatan
                if (a==0){
                    temp = 0;
                    b = b+temp;
                    listkecepatan.add(new DataCSV(0.0,b));
                }else{
                    temp = (((dataAsli.get(a).getZ()+dataAsli.get(a-1).getZ())*(dataAsli.get(a).getTimestamp()-dataAsli.get(a-1).getTimestamp()))/2);
                    b = b+temp;
                    DataCSV data_v = new DataCSV(dataAsli.get(a).getTimestamp(), b);
                    listkecepatan.add(data_v);
                }
                if (i==0){
                    temp = 0;// listkecepatan.get(i).getZ();
                    c = c + temp;
                    DataCSV data_s = new DataCSV(listkecepatan.get(i).getTimestamp(), c);
                    listjarak.add(data_s);
                }else {
                    temp = (((listkecepatan.get(i).getZ()+listkecepatan.get(i-1).getZ())*(dataAsli.get(i).getZ()-dataAsli.get(i-1).getZ()))/2);
                    c = c + temp;
                    DataCSV data_s = new DataCSV(listkecepatan.get(i).getTimestamp(), c);
                    listjarak.add(data_s);
                }
                a = a+1;
                i = i +1;
                //Integral Jarak
//                listjarak = IntegralJarak(listkecepatan, dataAsli);
//                Log.i("dataaa", acceleration[2]+"-"+a );
                jarak = listjarak.get(listjarak.size()-1).getZ();
                return jarak;
            }
        }
        return 0.0;
    }
Editor is loading...