资源简介
用单神经元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
相关资源
-
Fuzzysimuli
nk有关模糊PID问题概述-自适 - 粒子群算法优化pid源码 matlab仿真.ra
- 自动控制原理课程设计2019.rar
- 基于matlabGUI的小车倒立摆pid控制
- 小车倒立摆系统的控制及GUI动画演示
- 论文研究-电加热模糊PID控制及仿真研
- 基于卡尔曼滤波的PID控制
- 刘金琨-先进PID控制及MATLAB 仿真
- 《先进PID控制MATLAB仿真第3版》程序代
- 先进PID控制及其MATLAB仿真(刘金锟)
- 模糊PID在热水锅炉温度控制系统中的
- 先进PID控制及其MATLAB仿真 与配套源码
- 先进PID控制及其MATLAB仿真(附带)
- 多种PID控制算法-matlab 实现
- pid控制倒立摆
- 基于模糊PID的麦克纳姆轮移动平台的
- 薛定宇教授 ctrllab工具箱3.0
- PID控制及其MATLAB仿真--详细.ppt
- 神经网络PID设计完整版
- 《先进PID控制MATLAB仿真第3版》仿真程
- 基于PID的恒温控制系统设计
- zw_qq_15023225-7501331-S函数的BP神经网络
- 基于DSP的数字PID控制 DC-DC变换器的设
- 各种PID算法
-
二级倒立摆_simuli
nk.rar - 无刷直流电机基于模糊PID的速度控制
- 主动悬架LQG控制与模糊PID控制的比较
- 基于模糊PID控制无刷直流电动机调速
- Linear Feedback Control Analysis and Design wi
- 基于MATLAB的模糊PID控制器的设计
评论
共有 条评论