0

センサーからのデータを、Gain と Phase と呼ばれる 2 つの static 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」などが変更されます。あたかも新しいゲインとフェーズの値に即座に再割り当てされたかのようです。上記のコードを System.out.pritln コマンドで囲み、前後の lgain や lphase などの値を表示しましたが、これは確かにそれらが変更されている場所です。ctrl-f を使用して、lgain、lphase などのすべてのインスタンスを見つけましたが、他の場所に再割り当てされていません。これを修正する方法はありますか?

4

1 に答える 1