找回密码
 注册
关于网站域名变更的通知
查看: 474|回复: 3
打印 上一主题 下一主题

PID参数整定

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-11-3 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
现在想实现功能是循环200次,画出二维图,横坐标为count,纵坐标为u,请问该如何写程序呢?下面的程序是我自己写的
) W# @% r3 G# |  U4 u- k! y, c2 N" A: f
- P% w* {5 H% Q  E- W- Z, d
actual=0;%实际值" T9 H$ \; _7 p" p$ V! U% w
lasterr=0;%上一个偏差值\! M7 S4 O- h$ D8 ^# C4 E
integral=0;%累计偏差; j& V5 O' d: E) ^; s: _
kp=1;%比例系数/ s: F: T4 T7 E& _% Q- V" \
ki=0.1;%积分系数' ]0 S# n' X* |2 d: Q* \- W+ M* u5 B
kd=0.01;%微分系数
( Y( \2 b& G( T, b) I& afor count=1:1:200%采样两百次* b" r- X' f4 \5 A
set=45;%设定值45. {$ W# x$ _+ L* ~2 r4 \5 D# B# H/ Q
err=set-actual;%偏差值' y( z; O! H- v5 p
    u=kp*err+ki*integral+kd*(err-lasterr);  b# ^2 ]7 I: I* G! K
    integral=integral+err;%累计误差
7 s. [& I0 `: j. w5 o    lasterr=err;
9 s; c8 b8 i  z) Eend( R" p( K1 z6 z- s. r# {" e+ l
plot(count,u)
* d- a$ T( X% C0 X6 w

该用户从未签到

2#
发表于 2020-11-3 15:47 | 只看该作者
actual=0;%实际值1 W  c' u! _1 p% E4 Y" N
lasterr=0;%上一个偏差值\
. D3 A7 g5 R8 K0 c( nintegral=0;%累计偏差
3 @, ?5 W: u2 k( T/ B. B" q3 Dkp=1;%比例系数
) }, [$ a3 A; K5 Y2 h# }& ]' ^7 [ki=0.1;%积分系数5 G% z8 W7 K1 V9 B; ^/ g/ U5 W
kd=0.01;%微分系数. p) N; u' k5 {6 Q  Y; a' N
for count=1:1:200%采样两百次, ^# n* \, n  I2 I1 [; _# ~
    set=45;%设定值458 Q) [- }, c! n5 u7 K
    err=set-actual;%偏差值
0 ^/ J- b* ~8 }* n- g    u(count)=kp*err+ki*integral+kd*(err-lasterr);
- P$ |0 L9 Q) p    integral=integral+err;%累计误差* t! |, i( G# Y! Y+ F8 x
    lasterr=err;
+ C8 C$ Q* Q7 d: Aend1 C/ u$ \7 m0 e6 b+ h4 ~" l
count=1:1:200;
* O6 a' B6 d# e. @# [( @  A4 X3 wplot(count,u)

该用户从未签到

3#
发表于 2020-11-3 17:03 | 只看该作者
来学习一下

该用户从未签到

4#
发表于 2020-11-4 09:34 | 只看该作者
来学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 09:04 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表