放射性元素原子的平均寿命
放射性元素原子的寿命是 1/k
数值计算代码:
double percent = 1.0 / 10000.0; //衰变掉现有的万分之1; double original = 1.0; //总数,按百分比来计算 double remain = original; //剩余数目 //少掉万分之1的时间是 period=ln(9999/10000)/-k 计算时k不加入, //少掉万分之一所以剩余 9999/10000 * y0=y0 * exp(-k*t); double period = -Math.Log(1 - percent); int step = 1;//经历的衰变周期数(指衰变掉现有的万分之1) double avgLifetime = 0.0d; double hasDealSum = 0.0d; //已经累加进来的百分比数,这个应该等于1 while ((original-hasDealSum)>=0.0000001) // { var decay= (remain * percent); //本次衰变掉的数量 var lifetime = step * period * decay; // 本次衰变掉的原子寿命*权重 hasDealSum += decay; remain = remain * (1 - percent); avgLifetime = avgLifetime + lifetime; step++; // Console.WriteLine(cur); } Console.WriteLine(String.Format("original={0},has deal sum={1}", original, hasDealSum)); Console.WriteLine("average lifetime:" + avgLifetime + " / k"); //
一开始选择半衰期结果是1.38/k误差比较大
参考文章:
http://wenku.baidu.com/link?url=jlz2UmbzXWoI76MqWzBcw323UpvLs2HgOpM5UWlDKHXErCoNm-pixpy8vtUrQC8Hajm4FpiZkLRpsZx-fQq6InuEztZMwS9-4I8XazXgjEq