package com.eslab.osmonitor.utility; import java.util.ArrayList; import android.content.Context; import android.widget.Toast; /* * 표준 편차를 게싼해주는 유틸리티 클래스 이다. */ public class StandardDeviation { public final static int DOUBLE = 0; private ArrayList<Double> mItemList; public StandardDeviation(int mode){ if(mode == DOUBLE){ mItemList = new ArrayList<Double>(); } else{ } } public boolean add(double arItem){ mItemList.add(arItem); return true; } public double EvaluateSD(){ double sd = 0.0; double sum = 0.0; double pow2sum = 0.0; double avg = 0.0; double pow2avg = 0.0; for(int i = 0; i<mItemList.size(); i++){ sum += mItemList.get(i); // 그냥합 pow2sum += Math.pow(mItemList.get(i),2); // 제곱의 합 } //평균 계산 avg = sum/mItemList.size(); pow2avg = pow2sum/mItemList.size(); //표준편차 계산. 식 : 제곱평균 - 평균의 제곱 의 루트 sd = Math.sqrt(pow2avg - Math.pow(avg, 2)); return sd; } //저장된 List를 Toast message를 이용해서 출력하는 메서드이다. public String printItemList(){ String str =""; for(int i = 0; i<mItemList.size(); i++){ str = str +" "+ mItemList.get(i); } return str; } public boolean clear(){ mItemList.clear(); return true; } }