|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
现在想实现功能是循环200次,画出二维图,横坐标为count,纵坐标为u,请问该如何写程序呢?下面的程序是我自己写的
. H8 H# h7 H7 Z# D
& `5 I# v4 n3 w) _9 c3 T1 g; ]- q1 q' j0 x
actual=0;%实际值1 ^- V) ~' u7 B S# [. Z- j6 U4 G
lasterr=0;%上一个偏差值\
, ?/ ?2 t& @7 X9 M9 x" fintegral=0;%累计偏差0 N0 X; f8 S' \
kp=1;%比例系数6 f" u5 e, R9 G% I$ r0 V0 d: B
ki=0.1;%积分系数, A0 Q3 Q6 s/ l) Z3 \7 K+ a% B' M
kd=0.01;%微分系数" ?) Q- X- b( M3 i4 k) o
for count=1:1:200%采样两百次
. l9 Y! q y, q! zset=45;%设定值45, d" \. R: X. M% V* ^4 Q
err=set-actual;%偏差值/ }& ^6 Q. }4 p
u=kp*err+ki*integral+kd*(err-lasterr);, X# O3 y7 K: c* m/ w% ?6 T T+ u
integral=integral+err;%累计误差
4 U2 f$ B3 a1 Q' J# t! b$ A. v1 e lasterr=err;
. v9 J9 ^! ^ p1 y% {end
7 O, x1 Q/ j3 J/ ]plot(count,u)' D" l/ B, o" e7 ]! }4 v' h. U# U
|
|