资源简介
刘金琨先进PID控制第二版 MATLAB程序
代码片段和文件信息
%PID Controller
clear all;
close all;
ts=0.001;
sys=tf(5.235e005[187.351.047e0040]);
dsys=c2d(systs‘z‘);
[numden]=tfdata(dsys‘v‘);
u_1=0.0;u_2=0.0;u_3=0.0;
r_1=rand;
y_1=0;y_2=0;y_3=0;
x=[000]‘;
error_1=0;
for k=1:1:3000
time(k)=k*ts;
kp=1.0;ki=2.0;kd=0.01;
S=1;
if S==1 %Triangle Signal
if mod(time(k)2)<1
rin(k)=mod(time(k)1);
else
rin(k)=1-mod(time(k)1);
end
rin(k)=rin(k)-0.5;
end
if S==2 %Sawtooth Signal
rin(k)=mod(time(k)1.0);
end
if S==3 %Random Signal
rin(k)=rand;
vr(k)=(rin(k)-r_1)/ts; %Max speed is 5.0
while abs(vr(k))>=5.0
rin(k)=rand;
vr(k)=abs((rin(k)-r_1)/ts);
end
end
u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller
%Restricting the output of controller
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end
%Linear model
yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;
error(k)=rin(k)-yout(k);
r_1=rin(k);
u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
x(1)=error(k); %Calculating P
x(2)=(error(k)-error_1)/ts; %Calculating D
x(3)=x(3)+error(k)*ts; %Calculating I
xi(k)=x(3);
error_1=error(k);
D=0;
if D==1 %Dynamic Simulation Display
plot(timerin‘b‘timeyout‘r‘);
pause(0.00000000000000000);
end
end
plot(timerin‘r‘timeyout‘b‘);
xlabel(‘time(s)‘);ylabel(‘rinyout‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10020 2004-06-07 07:32 PID程序\chap1\chap1_1.mdl
文件 1418 2004-06-13 12:10 PID程序\chap1\chap1_10.m
文件 16387 2004-06-13 12:17 PID程序\chap1\chap1_11.mdl
文件 897 2004-06-13 12:19 PID程序\chap1\chap1_12.m
文件 1242 2004-06-13 12:20 PID程序\chap1\chap1_13.m
文件 11066 2004-06-13 12:21 PID程序\chap1\chap1_14.mdl
文件 155 2004-06-13 12:21 PID程序\chap1\chap1_14f.m
文件 1441 2004-06-13 12:22 PID程序\chap1\chap1_15.m
文件 1192 2004-06-13 12:22 PID程序\chap1\chap1_16.m
文件 623 2004-06-13 12:24 PID程序\chap1\chap1_17.m
文件 1684 2004-06-13 12:25 PID程序\chap1\chap1_18.m
文件 14775 2004-06-13 12:26 PID程序\chap1\chap1_19.mdl
文件 248 2004-06-13 12:26 PID程序\chap1\chap1_19f.m
文件 9520 2004-06-07 07:37 PID程序\chap1\chap1_2.mdl
文件 1311 2004-06-13 12:27 PID程序\chap1\chap1_20.m
文件 1188 2004-06-13 12:27 PID程序\chap1\chap1_21.m
文件 1499 2004-06-13 12:28 PID程序\chap1\chap1_22.m
文件 1058 2004-06-13 12:29 PID程序\chap1\chap1_23.m
文件 1332 2004-06-13 12:29 PID程序\chap1\chap1_24.m
文件 924 2004-06-13 11:35 PID程序\chap1\chap1_25.m
文件 691 2004-06-13 12:31 PID程序\chap1\chap1_26.m
文件 1706 2004-06-13 12:31 PID程序\chap1\chap1_27.m
文件 79 2004-06-02 09:19 PID程序\chap1\chap1_2plot.m
文件 9896 2004-06-02 09:26 PID程序\chap1\chap1_3.mdl
文件 908 2004-06-02 09:29 PID程序\chap1\chap1_3plant.m
文件 807 2004-06-02 09:29 PID程序\chap1\chap1_3s.m
文件 13183 2004-06-13 11:59 PID程序\chap1\chap1_4.mdl
文件 8105 2004-06-13 11:59 PID程序\chap1\chap1_5.mdl
文件 862 2004-06-02 13:17 PID程序\chap1\chap1_5s.m
文件 691 2004-07-03 17:19 PID程序\chap1\chap1_6.m
............此处省略157个文件信息
相关资源
- 压缩感知离散余弦变换基-小波基MAT
- matlab程序 梯度校正参数辨识程序
- 多重网格matlab程序
- GM11灰色模型预测的matlab程序
- 近似熵matlab程序
- 语音信号的线性预测编码MATLAB程序
- 信噪比SNR MATLAB程序
- raw图像数据读取matlab程序
- matlab程序:用提升小波变换进行信号
- 多相滤波MATLAB程序
- MATLAB程序代码完成叶子分割和识别
- 4 BP神经网络信号拟合matlab程序.zip
- 牛顿法计算潮流的matlab程序
- 高斯-拉盖尔积分Gauss-laguerre积分matl
- Mann-Kendall检验Matlab程序代码.doc
- 蒙特卡洛算法计算电力系统可靠度m
- 牛顿迭代法matlab程序
- Matlab程序设计平面刚架求解器原创-
- ESPRIT算法的matlab程序
- 倒立摆MATLAB程序
- vibe matlab程序
- 随机共振用于弱信号检测的matlab程序
- 遗忘因子递推最小二乘参数估计MATL
- Lagrange插值法 多项式插值 matlab程序
- matlab程序-信息安全密码学BM算法
- 反步法的Matlab程序
- 简单易理解的霍夫曼编码matlab程序
- 快速可靠的噪声估计程序(matlab程序
- OFDM瑞利衰落信道下的MATLAB程序
- 均值滤波Matlab程序
评论
共有 条评论