已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。先进控制实验报告班级:自121 姓名:张伟琦 学号:120941项目预习操作报告总评得分实验一、Matlab M文件基本编程与常规PID实验(一)实验目的:1、掌握Matlab M文件基本编程方法以及基本函数的使用。2、掌握利用Matlab M文件建立常规系统的线性建模。3、掌握利用Matlab M文件编写PID控制程序。4、针对以上编写的PID程序进行PID参数的调整,理解PID三个参数对系统性能的影响。(二)实验内容:1、线性系统建模实验。2、增量式PID的编程实验。(三)实验程序:clear all;close all;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;for k=1:1:1500 %k=1 以1为增量增到1500 rin(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长度要一样xlabel(time(s),ylabel(rin,yout);(四)实验结果:(5) 实验总结: 经过这次实验,我不但复习了Matlab的基础知识并且学会了通过编写M文件来实现常规及增量式PID控制器的设计,针对不同的控制对象选择设定不同的控制参数,来完成控制目标,使得控制系统达到理想的超调,稳态误差等。同时经过老师的讲解,我不仅复习了PID控制三个参数的意义还了解了增量式PID的原理与建模与推导过程,并通过Matlab实现了此类PID控制,绘制了增量式PID的阶跃响应曲线,得知了此类PID的优缺点。与书本上的知识相对应使得我对PID控制的认知更加深刻。实验二、模糊控制实验(一)实验目的:1、掌握模糊控制基本原理并编程实现。2、理解模糊PID控制基本原理并编程实现。(二)实验内容:1、模糊控制编程实验。2、模糊PID控制编程实验。(三)实验程序:clear all;clear all;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=1 1 7 1 5 1 1; 1 2 7 1 3 1 1; 1 3 6 2 1 1 1; 1 4 6 2 1 1 1; 1 5 5 3 1 1 1; 1 6 4 4 2 1 1; 1 7 4 4 5 1 1; 2 1 7 1 5 1 1; 2 2 7 1 3 1 1; 2 3 6 2 1 1 1; 2 4 5 3 2 1 1; 2 5 5 3 2 1 1; 2 6 4 4 3 1 1; 2 7 3 4 4 1 1; 3 1 6 1 4 1 1; 3 2 6 2 3 1 1; 3 3 6 3 2 1 1; 3 4 5 3 2 1 1; 3 5 4 4 3 1 1; 3 6 3 5 3 1 1; 3 7 3 5 4 1 1; 4 1 6 2 4 1 1; 4 2 6 2 3 1 1; 4 3 5 3 3 1 1; 4 4 4 4 3 1 1; 4 5 3 5 3 1 1; 4 6 2 6 3 1 1; 4 7 2 6 4 1 1; 5 1 5 2 4 1 1; 5 2 5 3 4 1 1; 5 3 4 4 4 1 1; 5 4 3 5 4 1 1; 5 5 3 5 4 1 1; 5 6 2 6 4 1 1; 5 7 2 7 4 1 1; 6 1 5 4 7 1 1; 6 2 4 4 5 1 1; 6 3 3 5 5 1 1; 6 4 2 5 5 1 1; 6 5 2 6 5 1 1; 6 6 2 7 5 1 1; 6 7 1 7 7 1 1; 7 1 4 4 7 1 1; 7 2 4 4 6 1 1; 7 3 2 5 6 1 1; 7 4 2 6 6 1 1; 7 5 2 6 5 1 1; 7 6 1 7 5 1 1; 7 7 1 7 7 1 1; 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;for k=1:1:2000 %k=1 以1为增量增到1500 pid=evalfis(e_1 ec_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长度要一样xlabel(time(s),ylabel(rin,yout); (四)实验结果:5) 实验总结: 通过该实验的练习让我对模糊控制有了深入的了解,知道了模糊控制的基本思想和原理,熟悉了各种模糊控制系统工具箱函数的用法,加深了对模糊控制的理解和编程方法,对各种隶属度函数有了进一步的理解,对模糊控制的应用也有了更加直观的理解,也熟悉了matlab软件的功能实验三、BP神经网络控制实验(一)实验目的:1、掌握BP神经网络基本原理。2、掌握基于BP神经网络的PID控制算法原理并编程实现。(二)实验内容:1、BP神经网络分类编程实验。2、基于BP神经网络的PID控制算法编程实验。(三)实验程序:clear all;close all;clc;xite=0.25;alfa=0.05;S=1;IN=4;H=5;Out=3;if S=1 wi=-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2594; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660; wi_1=wi;wi_2=wi;wi_3=wi; wo=0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632; wo_1=wo;wo_2=wo;wo_3=wo;endif S=2 wi=-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988; -0.7176 0.8297 -1.6000 0.2049; -0.0858 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324; wi_1=wi;wi_2=wi;wi_3=wi; wo=1.0438 0.5478 0.8682 0.1446 0.1537; 0.1716 0.5811 1.1214 0.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494; wo_1=wo;wo_2=wo;wo_3=wo;endx=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;for k=1:1:1000 time(k)=k*ts;if S=1 rin(k)=1.0;elseif S=2; rin(k)=sin(1*2*pi*k*ts);enda(k)=1.2*(1-0.8*(exp(-0.1*k)3;yout(k)=a(k)*y_1/(1+y_12)+u_1;error(k)=rin(k)-yout(k);xi=rin(k),yout(k),error(k),1;x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=x(1);x(2);x(3);I=xi*wi;for i=1:5 oh(i)=(exp(I(i)-exp(-I(i)/(exp(I(i)+exp(-I(i);end %oh隐层输出KI=wo*oh; %KI输出层的输入for i=1:3 K(i)=exp(KI(i)/(exp(KI(i)+exp(-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);if u(k)=10 u(k)=10;endif u(k)=-10 u(k)=-10;endfor i=1:3 d_f(i)=2/(exp(KI(i)+exp(-KI(i)2);enddelta3=error(k)*d_f;d_wo=-delta3*oh;wo_1=wo;wo=wo_1+d_wo;for i=1:1:H dO(i)=4/(exp(I(i)+exp(-I(i)2;end segma=delta3*wo;for i=1:1:H delta2(i)=dO(i)*segma(i);endd_wi=xite*delta2*xi;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;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 21922:2021/Amd 1:2024 EN Refrigerating systems and heat pumps - Valves - Requirements,testing and marking - Amendment 1
- 临时保洁劳务协议
- 员工评语范文(15篇)
- 企业年安全生产工作总结
- 中考结束后家长对老师的感言(9篇)
- 产科护士出科小结范文
- 中秋节晚会的活动主持词(7篇)
- 论语制作课件教学课件
- DB12∕T 902-2019 日光温室和塑料大棚小气候自动观测站选型与安装技术要求
- 课件如何变现教学课件
- 外研版(三起点)六年级英语上册《阅读:Avisit-to-the-zoo-优课课件》
- 苏科版三年级上册劳动第四课《橡皮泥塑》课件(定稿)
- 一年级科学上册教案 -《3 看一看》 青岛版
- 吉林省名校调研卷系列(省命题A)2020-2021学年八年级上第三次月考数学( 有答案)
- 做时间的主人课件- 高中时间管理主题班会
- 初中英语外研版八年级上册 Module 5 单元作业设计
- 山西省太原市2022-2023学年物理九年级第一学期期中质量检测试题(含解析)
- 1例肠系膜上动脉栓塞病人的护理查房
- 分布式光伏发电项目EPC总承包合同
- 人教版五年级数学上册教材分析、教学计划及进度表
- 塌方(坍塌)事故现场应急处置方案(表格化)
评论
0/150
提交评论