Я работаю над приложением для Android, которое обнаруживает дрожание рук (через акселерометр) и модулирует частоту вибрации в зависимости от интенсивности тряски.
Я могу получить интенсивность тремора через стандартное отклонение (код ниже):
public void regressionCalc() {
//Calculating sum values
double sumZ;
double meanZ;
sumZ = 0;
final TextView accZText = (TextView) findViewById(R.id.accelText);
accZText.setText("");
for (int r = 0; r < recArray.length; r++) {
sumZ = sumZ + recArray[r];
}
meanZ = sumZ/recArray.length;
//Calculating standard deviation
double sumXu2; //this represents E((x-xbar)^2)
sumXu2 = 0;
for (int x = 0; x < recArray.length; x++) {
sumXu2 += ((recArray[x]-meanZ)*(recArray[x]-meanZ));
}
double SD;
SD = Math.sqrt(sumXu2/(recArray.length-1));
tremorIntensity = SD;
accZText.setText(String.format("%.2f", tremorIntensity) + "");
accZText.setTextSize(80);
}
но я не умею работать с вибрацией. Я имею в виду, я хотел бы, чтобы интенсивность вибрации телефона уменьшалась или увеличивалась в зависимости от значения регрессии.
Может ли кто-нибудь обратиться ко мне правильно? Заранее спасибо.