我正在将传感器中的数据读入两个静态double [],称为增益和相位。然后,根据用户按下哪个按钮开始从传感器收集数据,我将此数据保存到另一个double []。
前:
if (What_Button == 1){
oGain = gain;
oPhase = phase;
output.setText("OPEN saved");
}
if (What_Button == 2){
sGain = gain;
sPhase = phase;
output.setText("SHORT saved");
}
if (What_Button == 3){
lGain = gain;
lPhase = phase;
output.setText("LOAD saved");
}
然后我希望绘制原始的增益和相位数据。在我这样做之前,我将增益转换为dB,将相位转换为度。
即
for (int i=0; i<_steps; i++) {
phase[i]=Math.toDegrees(phase[i]);
gain[i]=20*Math.log10(gain[i]);
}
此绘图工作正常,但在增益和阶段转换后,我保存的数据“lgain”“lphase”等被更改。就好像他们已经立即重新分配给新的Gain和Phase值。我用System.out.pritln命令包围上面的代码,以查看之前和之后的lgain,lphase等值,这肯定是它们被更改的位置。我使用ctrl -f来查找lgain,lphase等的所有实例,并且它们不会在其他任何地方重新分配。任何想法如何解决这个问题?
C
答案 0 :(得分:1)