资源简介
用单神经元PID实现智能控制的一个MATLAB程序,程序可以直接运行。
代码片段和文件信息
clear all
close all
ts=1;
sys=tf(-3.6642[10-39.5002]);
dsys=c2d(systs‘z‘);
[numden]=tfdata(dsys‘v‘);
x=[0 0 0]‘;
xiteP=11.78;
xiteI=0.2;
xiteD=0.7313;
wkp_1=0.1;
wki_1=0.1;
wkd_1=0.1;
error_1=0;
error_2=0;
y_1=0;y_2=0;y_3=0;
u_1=0;u_2=0;u_3=0;
ts=1;
for k=1:1:5000
time(k)=k*ts;
rin(k)=1;
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
error(k)=rin(k)-yout(k);
wkp(k)=wkp_1+xiteP*u_1;
wki(k)=wki_1+xiteI*u_1;
wkd(k)=wkd_1+xiteD*u_1;
K=-1;
x(1)=error(k)-error_1;
x(2)=error(k);
x(3)=error(k)-2*error_1+error_2;
wadd(k)=abs(wkp(k))+abs(wki(k))+abs(wkd(k));
w11(k)=wkp(k)/wadd(k);
w22(k)=wki(k)/wadd(k);
w33(k)=wkd(k)/wadd(k);
w=[w11(k) w22(k) w33(k)];
u(k)=u_1+K*w*x;
if u(k)>10
u(k)=10;
end
if u(k)<-10
u(k)=-10;
end
error_2=error_1;
error_1=error(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);
wkp_1=wkp(k);
wki_1=wki(k);
wkd_1=wkd(k);
end
%figure(1);
%plot(timerin‘r‘timeyout‘b‘);
%figure(2);
%plot(timeerror‘r‘);
%figure(3);
plot(timeyout‘r‘);xlabel(‘time(s)‘);ylabel(‘rinyout‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1149 2011-04-14 11:48 SNPID.m
----------- --------- ---------- ----- ----
1149 1
相关资源
-
直流电机pid控制的simuli
nk仿真 - 刘金琨先进PID控制第二版程序
- 遗传算法求pid
- MATLABPID仿真程序
-
简单的模糊pid报告文末带simuli
nk仿真 -
模糊自整定pid控制器的simuli
nk仿真 - 基于Hebb学习规则的单神经元PID控制的
- bp模型优化预测与matlab仿真,pid参数优
- dsj_pid_gjHeeb.rar
- 基于PSO算法的PID控制器设计与实现论
-
模糊PID控制simuli
nk模型 - PID程序-MATLAB.rar
- BAS-PID.rar
- 基于MATLAB的PID控制器设计.rar
- matlab与云模型组合仿真
- GA求解PID优化问题的MATLAB代码
- 使用S-Function函数实现离散PID控制器,
- PID控制器与状态反馈控制器MATLAB教学
- 车辆ABS系统滑移率Bang-Bang、PID控制模
- fuzzy-pid(模糊PID控制器)matlab simuli
- 基于MATLAB卫星姿态建模自适应PID仿真
- PIDTUNING.mlappinstall
- 基于粒子群算法的PID控制器优化设计
- 粒子群单目标PID整定MATLAB实现
- 模糊PID的MATLAB程序
- 基于变速模糊-PI混合控制的直流电机
- 时滞系统的模糊PID控制的matlab/simuli
- 模糊控制器与PID控制器_性能对比 基于
- 基于MATLAB的PID控制器参数整定及仿真
- 位置式pid和增量式pid
评论
共有 条评论