




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、这个例子的程序百度文库里有很多版本,但我下了很多都有错误,运行不了。以下程序我一字一字的敲出来的,已经成功运行,绝对无误。仿真实例,被控对象为(s=采样时间为1ms,采用模糊PID控制进行阶跃响应,在第300个采样时间时控制器输出加1.0的干扰,相应的运行结果如图113所示。仿真程序如下:将以下程序保存为fuzzypid.m文件,即可得到仿真结果。%fuzzy tunning PID controlclear all;clear all;a=newfis('fuzzpid'a=addvar(a,'input','e',-3,3; %paramet
2、er ea=addmf(a,'input',1,'NB','zmf',-3,-1;a=addmf(a,'input',1,'NM','trimf',-3,-2,0;a=addmf(a,'input',1,'NS','trimf',-3,-1,1;a=addmf(a,'input',1,'Z','trimf',-2,0,2;a=addmf(a,'input',1,'PS',&
3、#39;trimf',-1,1,3;a=addmf(a,'input',1,'PM','trimf',0,2,3;a=addmf(a,'input',1,'PB','smf',1,3;a=addvar(a,'input','ec',-3,3; %parameter eca=addmf(a,'input',2,'NB','zmf',-3,-1;a=addmf(a,'input',2,'NM&
4、#39;,'trimf',-3,-2,0;a=addmf(a,'input',2,'NS','trimf',-3,-1,1;a=addmf(a,'input',2,'Z','trimf',-2,0,2;a=addmf(a,'input',2,'PS','trimf',-1,1,3;a=addmf(a,'input',2,'PM','trimf',0,2,3;a=addmf(a,'i
5、nput',2,'PB','smf',1,3;a=addvar(a,'output','kp',-0.3,0.3; %parameter kpa=addmf(a,'output',1,'NB','zmf',-0.3,-0.1;a=addmf(a,'output',1,'NM','trimf',-0.3,-0.2,0;a=addmf(a,'output',1,'NS','trimf'
6、,-0.3,-0.1,0.1;a=addmf(a,'output',1,'Z','trimf',-0.2,0,0.2;a=addmf(a,'output',1,'PS','trimf',-0.1,0.1,0.3;a=addmf(a,'output',1,'PM','trimf',0,0.2,0.3;a=addmf(a,'output',1,'PB','smf',0.1,0.3; a=addvar(a,
7、39;output','ki',-0.06,0.06; %parameter kia=addmf(a,'output',2,'NB','zmf',-0.06,-0.02;a=addmf(a,'output',2,'NM','trimf',-0.06,-0.04,0;a=addmf(a,'output',2,'NS','trimf',-0.06,-0.02,0.02;a=addmf(a,'output',2,
8、9;Z','trimf',-0.04,0,0.04;a=addmf(a,'output',2,'PS','trimf',-0.02,0.02,0.06;a=addmf(a,'output',2,'PM','trimf',0,0.04,0.06;a=addmf(a,'output',2,'PB','smf',0.02,0.06; a=addvar(a,'output','kd',-3,3; %par
9、ameter kda=addmf(a,'output',3,'NB','zmf',-3,-1;a=addmf(a,'output',3,'NM','trimf',-3,-2,0;a=addmf(a,'output',3,'NS','trimf',-3,-1,1;a=addmf(a,'output',3,'Z','trimf',-2,0,2;a=addmf(a,'output',3,'
10、;PS','trimf',-1,1,3;a=addmf(a,'output',3,'PM','trimf',0,2,3;a=addmf(a,'output',3,'PB','smf',1,3;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
11、 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
12、 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;a=setfis(a,'DefuzzMethod
13、','mom'writefis(a,'fuzzpid'a=readfis('fuzzpid'%PID controllerts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0;dsys=c2d(sys,ts,'tustin'num,den=tfdata(dsys,'v'u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0'error_1=0;e_1=0.0;ec_1=0.0;kp0=0.40;kd0=1.0;ki0=
14、0.0;for k=1:1:500time(k=k*ts;rin(k=1;%using fuzzy inference to tunning PIDk_pid=evalfis(e_1,ec_1,a;kp(k=kp0+k_pid(1;ki(k=ki0+k_pid(2;kd(k=kd0+k_pid(3; u(k=kp(k*x(1+kd(k*x(2+ki(k*x(3;if k=300 %adding disturbance(1.0v at time 0.3su(k=u(k+1.0;endif u(k>=10u(k=10;endif u(k<=-10u(k=-10;end yout(k=-
15、den(2*y_1-den(3*y_2-den(4*y_3+num(1*u(k+num(2*u_1+num(3*u_2+num(4*u_3;error(k=rin(k-yout(k;%return of pid parameters%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 Px(2=error(k-error_1; %calculating Dx(3=x(3+error(k; %calculating De_1=x(1;ec_1=x(2;error_2=error_1;error_
16、1=error(k;endshowrule(afigure(1;plot(time,rin,'b',time,yout,'r'xlabel('time(s'ylabel( 'rin,yout'figure(2;plot(time,error,'r'xlabel('time(s'ylabel( 'error 'figure(3;plot(time,u,'r'xlabel('time(s'ylabel( 'u 'figure(4;plot(time,kp,'r'xlabel('time(s'ylabel( 'kp 'figure(5;plot(time,ki,'r'xlabel('time(s'ylabel( 'ki 'figure(6;plot(time,kd,'r'xla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 23090-25:2025 EN Information technology - Coded representation of immersive media - Part 25: Conformance and reference software for carriage of visual volumetric vid
- 房屋租赁付定金合同
- 独家代理合同(20篇)
- 酒店服务标准化建设合作协议
- 软件开发委托服务合同
- 食品安全检测认证服务合同
- 艺术品交易鉴赏期免责合同协议
- 手房租赁买卖合同
- 工程施工中止合同书
- 环保工程承包施工合同
- 各种el34名胆电子管评测
- 超分子化学-杯芳烃课件
- 车标识别 课讲义件课件
- 送达地址确认书(样本)
- 压力容器考试审核考试题库(容标委-气体协会联合)
- 二年级道德与法治下册全册教案(含反思)
- 文物保护概论课件
- HBZ 131-2020 高温合金母合金选用原材料技术要求
- 生物化学绪论
- 公路工程项目隐隐蔽工程管理办法
- PCCP安装与水压试验
评论
0/150
提交评论