測定された放射性崩壊に基づいて、以前の時点での放射性崩壊を計算するプログラムを実行しています。
しかし、経過時間と比較して半減期が非常に長い場合、私は答えとしてaを取得し、少なくとも大きくなるまで0.00
私を残します。A= Ao
(times[i]-times[0])
たとえば、取得(times[i]-times[0]) = 5
しThalflife = 6540
たいのに0.00076452599
、0.0
使用するタイプが2倍間違っている場合、または/
問題を引き起こしているのはコマンドですか?
private double[]theoreticalVals(double activity) {
/* below is an implementation of the activity decay
* calculation formula A= Ao/2^(t/Thalflife)
* An array of values will be returned.
* The times array defines the length of the array and gives the point in time values
*/
double Ao= activity;
double [] vals = new double[times.length];
double a;
vals[0]=Ao; //initial activity
for(int i = 1; i<times.length;i++){
a =(times[i]-times[0])/Hf; //
double lowerhalfterm = Math.pow(.5,a); // 2-(^(t/Thalflife))
vals[i]= Ao/lowerhalfterm;
} // A=Ao/2^(t/Thalflife)
return vals;
}