import numpy as np


class HeatDiffusion:
	def __init__(self, dt, delay, ic=0):
		self.alpha = dt/delay
		self.beta = 1 - self.alpha
		self.state = ic

	def initial(self, ic):
		self.state = ic

	def process(self, x):
		self.state = self.beta * self.state + self.alpha*x
		return self.state


if __name__ == '__main__':
	d = HeatDiffusion(0.1, 1)

	for i in range(1, 200):
		y = d.process(1)
		print("In = {}, out = {}".format(i, y))
