Files
brewpi/components/plant/heat_diffusion.py
T

24 lines
434 B
Python

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))