版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.先进控制实验报告班级:自121:伟琦**:120941工程预习操作报告总评得分实验一、MatlabM文件根本编程与常规PID实验〔一〕实验目的:1、掌握MatlabM文件根本编程方法以及根本函数的使用。2、掌握利用MatlabM文件建立常规系统的线性建模。3、掌握利用MatlabM文件编写PID控制程序。4、针对以上编写的PID程序进展PID参数的调整,理解PID三个参数对系统性能的影响。〔二〕实验容:1、线性系统建模实验。2、增量式PID的编程实验。〔三〕实验程序:clearall;closeall;ts=0.001;%采样时间sys=tf(5.235e005,[1,87.35,1.047e004,0]);%定义括号里有几个数就有几阶连续系统dsys=c2d(sys,ts,'z');%连续到离散[num,den]=tfdata(dsys,'v');%分子分母取值把上边系数存DATA里Kp=0.45;Ki=0.00001;Kd=0.001;U_1=0;U_2=0;U_3=0;Y_1=0;Y_2=0;Y_3=0;e_1=0;e_2=0;A=Kp+Ki+Kd;B=-Kp-2*Kd;C=Kd;fork=1:1:1500%k=1以1为增量增到1500rin(k)=1;%信号time(k)=k*ts;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);u(k)=A*error(k)+B*e_1+C*e_2;u(k)=U_1+u(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);e_2=e_1;e_1=error(k);endfigure(1);%画图开图框plot(time,rin,'b',time,yout,'r');%是颜色time是变量横坐标time和rin长度要一样*label('time(s)'),ylabel('rin,yout');(四)实验结果:实验总结:经过这次实验,我不但复习了Matlab的根底知识并且学会了通过编写M文件来实现常规及增量式PID控制器的设计,针对不同的控制对象选择设定不同的控制参数,来完成控制目标,使得控制系统到达理想的超调,稳态误差等。同时经过教师的讲解,我不仅复习了PID控制三个参数的意义还了解了增量式PID的原理与建模与推导过程,并通过Matlab实现了此类PID控制,绘制了增量式PID的阶跃响应曲线,得知了此类PID的优缺点。与书本上的知识相对应使得我对PID控制的认知更加深刻。实验二、模糊控制实验〔一〕实验目的:1、掌握模糊控制根本原理并编程实现。2、理解模糊PID控制根本原理并编程实现。〔二〕实验容:1、模糊控制编程实验。2、模糊PID控制编程实验。〔三〕实验程序:clearall;clearall;a=newfis('fuzz_ljk');f1=1.0;a=addvar(a,'input','e',[-3*f1,3*f1]);a=addmf(a,'input',1,'NB','zmf',[-3*f1,-1*f1]);a=addmf(a,'input',1,'NM,','trimf',[-3*f1,-2*f1,0]);a=addmf(a,'input',1,'NS,','trimf',[-3*f1,-1*f1,1*f1]);a=addmf(a,'input',1,'Z,','trimf',[-2*f1,0,2*f1]);a=addmf(a,'input',1,'PS,','trimf',[-1*f1,1*f1,3*f1]);a=addmf(a,'input',1,'PM,','trimf',[0,2*f1,3*f1]);a=addmf(a,'input',1,'PB,','smf',[1*f1,3*f1]);f2=1.0;a=addvar(a,'input','ec',[-3*f2,3*f2]);a=addmf(a,'input',2,'NB','zmf',[-3*f2,-1*f2]);a=addmf(a,'input',2,'NM,','trimf',[-3*f2,-2*f2,0]);a=addmf(a,'input',2,'NS,','trimf',[-3*f2,-1*f2,1*f2]);a=addmf(a,'input',2,'Z,','trimf',[-2*f2,0,2*f2]);a=addmf(a,'input',2,'PS,','trimf',[-1*f2,1*f2,3*f2]);a=addmf(a,'input',2,'PM,','trimf',[0,2*f2,3*f2]);a=addmf(a,'input',2,'PB,','smf',[1*f2,3*f2]);f3=0.1;a=addvar(a,'output','kp',[-3*f1,3*f1]);a=addmf(a,'output',1,'NB','zmf',[-3*f1,-1*f1]);a=addmf(a,'output',1,'NM,','trimf',[-3*f1,-2*f1,0]);a=addmf(a,'output',1,'NS,','trimf',[-3*f1,-1*f1,1*f1]);a=addmf(a,'output',1,'Z,','trimf',[-2*f1,0,2*f1]);a=addmf(a,'output',1,'PS,','trimf',[-1*f1,1*f1,3*f1]);a=addmf(a,'output',1,'PM,','trimf',[0,2*f1,3*f1]);a=addmf(a,'output',1,'PB,','smf',[1*f1,3*f1]);f4=0.02a=addvar(a,'output','ki',[-3*f2,3*f2]);a=addmf(a,'output',2,'NB','zmf',[-3*f2,-1*f2]);a=addmf(a,'output',2,'NM,','trimf',[-3*f2,-2*f2,0]);a=addmf(a,'output',2,'NS,','trimf',[-3*f2,-1*f2,1*f2]);a=addmf(a,'output',2,'Z,','trimf',[-2*f2,0,2*f2]);a=addmf(a,'output',2,'PS,','trimf',[-1*f2,1*f2,3*f2]);a=addmf(a,'output',2,'PM,','trimf',[0,2*f2,3*f2]);a=addmf(a,'output',2,'PB,','smf',[1*f2,3*f2]);f5=1a=addvar(a,'output','kd',[-3*f2,3*f2]);a=addmf(a,'output',3,'NB','zmf',[-3*f2,-1*f2]);a=addmf(a,'output',3,'NM,','trimf',[-3*f2,-2*f2,0]);a=addmf(a,'output',3,'NS,','trimf',[-3*f2,-1*f2,1*f2]);a=addmf(a,'output',3,'Z,','trimf',[-2*f2,0,2*f2]);a=addmf(a,'output',3,'PS,','trimf',[-1*f2,1*f2,3*f2]);a=addmf(a,'output',3,'PM,','trimf',[0,2*f2,3*f2]);a=addmf(a,'output',3,'PB,','smf',[1*f2,3*f2]);rulelist=[1171511;1271311;1362111;1462111;1553111;1644211;1744511;2171511;2271311;2362111;2453211;2553211;2644311;2734411;3161411;3262311;3363211;3453211;3544311;3635311;3735411;4162411;4262311;4353311;4444311;4535311;4626311;4726411;5152411;5253411;5344411;5435411;5535411;5626411;5727411;6154711;6244511;6335511;6425511;6526511;6627511;6717711;7144711;7244611;7325611;7426611;7526511;7617511;7717711];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','centroid');ts=0.001;%采样时间sys=tf(5.235e005,[1,87.35,1.047e004,0]);%定义括号里有几个数就有几阶连续系统dsys=c2d(sys,ts,'z');%连续到离散[num,den]=tfdata(dsys,'v');%分子分母取值把上边系数存DATA里Kp=0.50;Ki=0.001;Kd=0.0001;U_1=0;U_2=0;U_3=0;Y_1=0;Y_2=0;Y_3=0;e_1=0;e_2=0;ec_1=0;pid=[0,0,0];kp0=0.3;ki0=0.06;kd0=3;A=Kp+Ki+Kd;B=-Kp-2*Kd;C=Kd;fork=1:1:2000%k=1以1为增量增到1500pid=evalfis([e_1ec_1],a);kp=kp0+pid(1);ki=ki0+pid(2);kd=kd0+pid(3);rin(k)=1*sign(sin(1*2*pi*k*ts));time(k)=k*ts;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);u(k)=A*error(k)+B*e_1+C*e_2;u(k)=U_1+u(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);e_2=e_1;e_1=error(k);ec_1=error(k)-e_1;Endfigure(1);%画图开图框plot(time,rin,'b',time,yout,'r');%time是变量横坐标time和rin长度要一样*label('time(s)'),ylabel('rin,yout');〔四〕实验结果:实验总结:通过该实验的练习让我对模糊控制有了深入的了解,知道了模糊控制的根本思想和原理,熟悉了各种模糊控制系统工具箱函数的用法,加深了对模糊控制的理解和编程方法,对各种隶属度函数有了进一步的理解,对模糊控制的应用也有了更加直观的理解,也熟悉了matlab软件的功能实验三、BP神经网络控制实验〔一〕实验目的:1、掌握BP神经网络根本原理。2、掌握基于BP神经网络的PID控制算法原理并编程实现。〔二〕实验容:1、BP神经网络分类编程实验。2、基于BP神经网络的PID控制算法编程实验。〔三〕实验程序:clearall;closeall;clc;*ite=0.25;alfa=0.05;S=1;IN=4;H=5;Out=3;ifS==1wi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2594;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];wo_1=wo;wo_2=wo;wo_3=wo;endifS==2wi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71760.8297-1.60000.2049;-0.08580.1925-0.63460.0347;0.43580.2369-0.4564-0.1324];wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.04380.54780.86820.14460.1537;0.17160.58111.12140.50670.7370;1.00630.74281.05340.78240.6494];wo_1=wo;wo_2=wo;wo_3=wo;end*=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;Oh=zeros(H,1);error_2=0;error_1=0;ts=0.001;fork=1:1:1000time(k)=k*ts;ifS==1rin(k)=1.0;elseifS==2;rin(k)=sin(1*2*pi*k*ts);enda(k)=1.2*(1-0.8*(e*p(-0.1*k)))^3;yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);*i=[rin(k),yout(k),error(k),1];*(1)=error(k)-error_1;*(2)=error(k);*(3)=error(k)-2*error_1+error_2;epid=[*(1);*(2);*(3)];I=*i*wi';fori=1:5oh(i)=(e*p(I(i))-e*p(-I(i)))/(e*p(I(i))+e*p(-I(i)));end%oh隐层输出KI=wo*oh';%KI输出层的输入fori=1:3K(i)=e*p(KI(i))/(e*p(KI(i))+e*p(-KI(i)));endkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);ifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;endfori=1:3d_f(i)=2/((e*p(KI(i))+e*p(-KI(i)))^2);enddelta3=error(k)*d_f';d_wo=-delta3*oh;wo_1=wo;wo=wo_1+d_wo;fori=1:1:HdO(i)=4/(e*p(I(i))+e*p(-I(i)))^2;endsegma=delta3'*wo;fori=1:1:Hdelta2(i)=dO(i)*segma(i);endd_wi=*ite*delta2'**i;wi=wi_1+d_wi+alfa*(wi_1-wi_2);u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级语文备课组工作总结
- 新编大学生心理健康教案
- 建筑装饰专业 技能教学标准
- 农业技术采纳对农户收入稳定性的影响研究意义
- 膀胱镜检查术后排尿观察与血尿记录查验制度
- 家庭水暖毯加水与排气指南
- 中药养护考试题及答案
- 人工智能模数共振体系研究报告(2026年)
- 2026年河北省唐山市丰南区中考英语二模试卷(含详细答案解析)
- 2026年江苏省南通市如皋市中考化学二模试卷(含答案)
- 防护目镜使用课件
- 海上钢琴师影片解析
- 老年人健康管理档案模板
- 初中英语整体单元教学研究报告
- 3.1 世界是普遍联系的 课件 高中政治统编版必修4 哲学与文化
- 人教版高中高二《美术》选择性必修一-为眼睛做导游(建构画面)-教学设计
- 监狱智能管理系统
- 人造板行业政策与安全生产考核试卷
- ICD-9-CM-3手术编码6.0标准版-临床版新版字典库
- 桥梁伸缩缝破损更换工程全流程解析
- 露天采矿场管理制度
评论
0/150
提交评论