Python简单模拟PID算法
误差=期望值-当前值
P输出值=误差 X P
I输出值 =累计误差 X I
D输出值=(本次误差-上次误差)X D
实际输出值 = P输出值 + I输出值 + D输出值
已经是极简的PID算法代码了 供大家学习理解
```python
import random
import time
p = 0.22
i = 0.5
d = 0.05
val = random.randint(1, 99) #当前值
tag = random.randint(300,1000) #目标值
old_error = tag - val
i_error = 0 #累计误差
for j in range(1, 300):
time.sleep(1)
#当前误差
error = tag - val
out_p = error * p
i_error += error
out_i = i_error * i
out_d = (error - old_error) * d
old_error = error
val = out_p + out_i + out_d
# 添加随机扰动
val += random.uniform(-100.0, 100.0)
print("第"+str(j)+"次"+" 当前值" + str(val) + " 目标值" + str(tag))
运行结果