[关闭]
@francisnoopy 2016-10-16T10:34:21.000000Z 字数 1104 阅读 46

excercise 4


Python源代码如下:

import pylab
class decay_problem:
def init(self, number_of_nuclei_A = 100, number_of_nuclei_B = 0 , time_constant = 1, time_of_duration = 5, time_step = 0.05):
self.n_uranium_A = [number_of_nuclei_A]
self.n_uranium_B = [number_of_nuclei_B]
self.t = [0]
self.tau = time_constant
self.dt = time_step
self.time = time_of_duration
self.nsteps = int(time_of_duration // time_step + 1)
print("Initial number of nuclei A ->", number_of_nuclei_A)
print("Initial number of nuclei B ->", number_of_nuclei_B)
print("Time constant ->", time_constant)
print("time step -> ", time_step)
print("total time -> ", time_of_duration)
def calculate(self):
for i in range(self.nsteps):
tmp_A = self.n_uranium_A[i] - self.n_uranium_A[i] / self.tau * self.dt+self.n_uranium_B[i] / self.tau * self.dt
tmp_B = self.n_uranium_B[i] - self.n_uranium_B[i] / self.tau * self.dt+self.n_uranium_A[i] / self.tau * self.dt
self.n_uranium_A.append(tmp_A)
self.n_uranium_B.append(tmp_B)
self.t.append(self.t[i] + self.dt)
def show_results(self):
pylab.plot(self.t, self.n_uranium_A)
pylab.plot(self.t, self.n_uranium_B)
pylab.xlabel('time ()')
pylab.ylabel('Number of Nuclei A and B')
pylab.show()
a = decay_problem()
a.calculate()
a.show_results()

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注