|
actual=0;%实际值4 W. m; p6 Y8 G4 a
lasterr=0;%上一个偏差值\- `, |% a: p4 p6 _4 d& ]1 P5 {
integral=0;%累计偏差
7 N) h Z3 Z. Q2 R9 |+ W1 Qkp=1;%比例系数
& I5 {! q( v' a5 l, Uki=0.1;%积分系数7 z0 m. s2 Z9 H3 z
kd=0.01;%微分系数
" E3 I6 P1 j9 m& t- @" n& U# Dfor count=1:1:200%采样两百次% @4 ^2 R$ X+ V( Y& m( v5 ?" ~
set=45;%设定值45
. }4 W3 G6 |+ i% B' a8 p err=set-actual;%偏差值
3 A+ X0 ^: c; C u(count)=kp*err+ki*integral+kd*(err-lasterr);/ v. m+ [% |& Q, d6 _
integral=integral+err;%累计误差# x, a. _+ c/ d+ S& @& P% I+ N) A
lasterr=err;0 h$ j `! Z. W
end- }1 e/ J, T% T. F2 C, y9 N
count=1:1:200;2 g- d1 K% K: ]: c6 [1 Z7 ]( @
plot(count,u) |
|