控制算法PID-理解分析1
以下内容是来自网络上的,本人觉得有道理,拷贝下来,由于没有找到最源头的出处,没有注明来自何方。
转载,下面说法应该更通俗易懂
一家庭,每次需要开支的时候丈夫P都要拿卡去取钱。需要多少取多少,因为银行最低的是100的取款, 每次都会有剩,剩下的钱又会被孩子偷走,为了方便家庭开支而且保证孩子的教育,丈夫和妻子I商量生 活小开支由妻子I负责零钱。而一旦需要大开支则有丈夫P负责去银行取。而每一天的生活开支是33快。 比如今天开支是59快 丈夫P一算不值得去银行取就由妻子I负责出。妻子I就负责小开支的平衡。俗话说男女搭配干活不累,分工明确,日子幸福着呢。
有那么一天 老婆I回娘家了。回娘家好啊,这样有时间找小三了哇。可是麻烦来了,小孩要吃饭又向P要零花钱。但是生活方面的开支是老婆负责的。一算需要79RMB。天呐难道要跑到银行去取吗?丈夫P懒的要命。P想反正没有超过100块不是我的事。于是小宝贝和P饿了一天,第二天平常的一天开支33RMB ,P一算现在需要112RMB了,于是去银行取了100回来,反正剩下12RMb是老婆I的事。老公P不管,老公P就是那个德行小钱管不了。
很多朋友说PID只有P难道不行吗。因为P就是比例,比如如果P是0.5的话,每次去调节0.5最后越调越小也肯定能让误差相当于0的。那么I岂不是多余的?如果谁要是问这个问题八成是觉得老婆是多余的那种。哈哈,有这样 的想法也没什么问题,问题是你忽略了一个问题就是PID调节周期T。我们发现每个T时间都会有误差产生 ,但我们的P只调节0.5,也就是经过P调节后还是会有余差的。假设e是误差,c是控制值,o是输出,系统单位反馈。k是比例系数,那么有:e= c-o, k*e= k(c-o)=o, 式子调换过来 o=[k/(1+k)]*c=[1/(1+1/k)]*c,如果k是无穷大那么o等于c,也就是输出等于控制值,但是k 不可能为无穷,所以比例控制一定是有误差的。k越大误差越小。所以P负责大头,I就是辅助。
以上事实证明没有老公P办不了大事坐不成宝马。没有老婆I有可能饿肚子哦
备注公式

控制算法PID-理解分析1的更多相关文章
- JDK动态代理深入理解分析并手写简易JDK动态代理(下)
原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-01-05/27.html 作者:夜月归途 出处:http://www.guitu ...
- JDK动态代理深入理解分析并手写简易JDK动态代理(上)
原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-01-03/27.html 作者:夜月归途 出处:http://www.guitu ...
- PID控制算法的简单分析和仿真!
PID算法简单剖析如下: 1.首先我们来看一下PID系统的基本组成模块: 如图所示,图中相关参数的表示如下: r(t):系统实际上需要的输出值,这是一个标准值,在我们设定了之后让这个系统去逼近的一个值 ...
- 从整体上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
学号后三位<168> 原创作品转载请注明出处https://github.com/mengning/linuxkernel/ 1.分析fork函数对应的内核处理过程sys_clone,理解 ...
- 四轴飞行器1.5 各种PID对比分析及选择
原创文章,欢迎转载,转载请注明出处 这篇文章主要介绍我对PID的理解,以及选择PID算法的过程. 一 PID的理解和学习过程 二 飞控的PID效果 先上个飞控PID的响应的视频:介绍在后面 地址:ht ...
- 进程pid理解
PID(Process Identification)操作系统里指进程识别号,也就是进程标识符.操作系统里每打开一个程序都会创建一个进程ID,即PID. PID(进程控制符)英文全称为Proces ...
- Function.prototype.apply.call 理解分析
首先需要了解apply,call的基本用法,其目的是改变调用方法中的this指向,将其指向为传入的对象,改变this的指向,两种方法接收参数的方式不同. 代码:console.log var cons ...
- java NIO理解分析与基本使用
我前段时间的一篇博客java网络编程--多线程数据收发并行总结了服务端与客户端之间的收发并行实践.原理很简单,就是针对单一客户端,服务端起两个线程分别负责read和write操作,然后线程保持阻塞等待 ...
- Rust借用机制的理解分析
Rust初学者大多会遇到这样的问题: 为什么同一资源不可被同时可变借用和不可变借用? 为什么Rc一定只能是只读的,一定要配合std::cell系列(Cell,RefCell,UnsafeCell)才能 ...
- JS按位非(~)运算符与~~运算符的理解分析
按位非运算符,简单的理解就是改变运算数的符号并减去1,当然,这是只是简单的理解能转换成number类型的数据. 那么,对于typeof var!==”number”的类型来说,进行运算时,会尝试转化成 ...
随机推荐
- docker-搭建 kafka+zookeeper集群
拉取容器 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka 这里演示使 ...
- xpath取末尾
from lxml import etree html = ''' <!DOCTYPE html> <html lang="en"> <head> ...
- kubernetes教程第一章-kubeadm高可用安装k8s集群
目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...
- centos mysql5.7安装
1. 安装 1 wget http://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm 2 rpm -ivh mysql57-c ...
- Java语言对对象采用的是引用传递还是按值传递?
按值调用表示方法接收的是调用者提供的值:而按引用调用表示方法接收的是调用者提供的变量地址:一个方法可以修改传递引用所对应的变量值, 而不能修改传递值调用所对应的变量值: Java语言对对象采用的是引用 ...
- plsql查询中文乱码
1.查看数据库字符集 select userenv('language') from dual 查看数据库字符集 2.在环境变量中添加并设置变量 变量名:NLS_LANG: 变量值:第一步查询的数据库 ...
- Lambda表达式(二)
Lambda表达式是给函数式接口(SAM接口)的变量或形参赋值的表达式.Lambda表达式替代了原来使用匿名内部类的对象给函数式接口(SAM接口)的变量或形参赋值的形式. 匿名内部类:实现了这个接口, ...
- hibernate.cfg.xml 配置SQL server,MySQL,Oracle
1.连接SQL server <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hiberna ...
- Jenkins配置,tomacat版本输出乱码和页面打开报404的问题
1.打开tomact下的startup.bat,tomcat版本控制台中文输出乱码,解决方法是去tomacat安装路径下的conf目录,打开logging.properties文件,将java.uti ...
- uniapp swiper高度自适应问题
这里的话是想做一个比较常见的左右滑动更改tab的效果,引用了uview-ui中的u-tabs-swiper组件,需要结合swiper组件来使用 先来讲下主体思路:每个tab页(swiper-item) ...