matlabPID SISOutyt
i=0m(i=0n-1)MATLAB
s
matlabPID
.
matlabPID
0.070.7=0.01matlabmatlabtf2ss(num,den)
XnUmYlAnnBnmClnDlm
matlabPIDUY,- ::
matlabPID:
matlabPID(matlab)num=20; den=[1.6,4.4,1]; [a1,b,c,d]=tf2ss(num,den);% x=[0;0]; T=0.01;h=T; %T umin=0.07;umax=0.7; td=0.02;Nd=td/T; %Nd N=500;R=1.5*ones(1,N);%
matlabPIDPID
matlab e=0; de=0;ie=0; kp=5;ki=0.1;kd=0.001;
matlabPID for k=1:N% N uu1(1,k)= -(kp*e+ki*ie+kd*de);% if k
matlabPID %- k1=a1*x+b*u; k2=a1*(x+h*k1/2)+b*u; k3=a1*(x+h*k2/2)+b*u; k4=a1*(x+h*k3)+b*u; x=x+(k1+2*k2+2*k3+k4)*h/6; y=c*x+d*u;%. e1=e; e=y(1,1)-R(1,k); de=(e-e1)/T; ie=e*T+ie; yy1(1,k)=y;end;kk=[1:N]*T;figure(1);p