Python最简单模拟PID算法 核心代码10 行

本文详细介绍了如何使用Python简单模拟PID(比例-积分-微分)控制算法,通过给出代码片段和逐步解释,帮助读者理解PID算法的工作过程以及如何在实际应用中调整参数。
摘要由CSDN通过智能技术生成

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

运行结果
在这里插入图片描述

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值