我有这段代码,基本上是将简单的数学算术应用于变量。rrdistance、qsdistance和heartrate给出了期望值,而pamp和qamp则没有。我认为它会四舍五入?据说,在i = 1时,trial[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;
将pamp的值赋给Pamp,将qamp的值赋给Qamp。
coordinate.setText("" + pamp + "," + qamp + " ");
在坐标文本框中显示Pamp和Qamp的值,以逗号分隔。