Так что я этот код, в основном применяя простые математические арифметические переменные. rrdistance, qsdistance, heartrate дают желаемые значения, а pamp и qamp - нет. Думаю, округляется? Предположительно, при i = 1 значения испытания [1] равны 120, Pycoor [1] равен 102, а Qycoor [1] равен 134. FINALBOXWIDTH (bitmap_Source) равен 10.Результат результата непреднамеренно округляется?
Таким образом, ожидаемые результаты pamp = ((120-102)/10) * 0,1 = 0,18, в то время как qamp = ((134-120)/10) * 0,1 = 0,14
Я не понимаю, почему оба дисплея отображают pamp = 0,1 и qamp = 0,1.
static int[] Pxcoor = new int[50];
static int[] Pycoor = new int[50];
static int[] Qxcoor = new int[50];
static int[] Qycoor = new int[50];
static int[] Rxcoor = new int[50];
static int[] Rycoor = new int[50];
static int[] Sxcoor = new int[50];
static int[] Sycoor = new int[50];
static int[] Txcoor = new int[50];
static int[] Tycoor = new int[50];
static int[] trial = new int[450];
public static int FINALBOXWIDTH(Bitmap src) { ...
}
private void StratBackgroundProcess() {
if (i >= 2) {
rrdistance += (((Rxcoor[i] - Rxcoor[i - 1])/FINALBOXWIDTH(bitmap_Source)) * 0.04);
//durations in seconds
printerval += (((Rxcoor[i] - Pxcoor[i])/FINALBOXWIDTH(bitmap_Source)) * 0.04);
qsdistance += (((Sxcoor[i] - Qxcoor[i])/FINALBOXWIDTH(bitmap_Source)) * 0.04);
heartrate += (1500/(rrdistance/0.04));
//amplitude in mV
pamp = (((trial[1] - Pycoor[i])/FINALBOXWIDTH(bitmap_Source)) * 0.1);
qamp = (((Qycoor[i] - trial[i])/FINALBOXWIDTH(bitmap_Source)) *0.1);
}
}
Pamp = pamp; Qamp = qamp;
coord.setText ("" + pamp + "," + qamp + "");
Укажите типы данных для всех переменных/параметров, показанных здесь. – CommonsWare
Как объявляются эти переменные? Может быть, есть целые числа? – 323go
Я редактирую код, добавленные типы данных @CommonsWare – cookie23