欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    智能控制课后仿真(13页).doc

    • 资源ID:37106342       资源大小:199.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    智能控制课后仿真(13页).doc

    -智能控制课后仿真-第 13 页智能控制课后仿真报告 院 (系): 电气与控制工程学院 专业班级: 自动化1301班 姓 名: 杨 光 辉 学 号: 1306050115 题目2-3: 求二阶传递函数的阶跃相应取采样时间为1ms进行离散化。参照专家控制仿真程序,设计专家PID控制器,并进行MATLAB仿真。专家PID 控制MATLAB仿真程序清单:%Exoert PID Controllerclear all;%清理数据库中所有数据close all;%关闭所有界面图形ts=0.001;%对象采样时间,1mssys=tf(133,1,25,0);%受控对象的传递函数dsys=c2d(sys,ts,'z');%连续系统转化为离散系统num,den=tfdata(dsys,'v');%离散化后参数,得num和den值u_1=0;u_2=0;%设定初值,u_1是第(k-1)步控制器输出量y_1=0;y_2=0;%设定初值,y_1是第(k-1)步系统对象输出量x=0,0,0'%设定误差x1误差导数x2误差积分x3变量初值x2_1=0;%设定误差导数x2_1的初值kp=0.6;%设定比例环节系数ki=0.03;%设定积分环节系数kd=0.01;%设定微分环节系数error_1=0;%设定误差error_1的初值for k=1:1:5000%for循环开始,k从1变化到500,每步的增量为1time(k)=k*ts; 0.5sr(k)=1.0;%Tracing Step Signal 系统输入信号u(k)=kp*x(1)+kd*x(2)+ki*x(3);%PID ControllerPID控制器%Expert control rule%Rule1:Unclosed control rule规则1:开环控制if%if循环开始,产生式规则,if.then.;误差的绝对值大于u(k)=0.45;%控制器输出量等于elseifu(k)=0.40;elseifu(k)=0.12;elseifu(k)=0.10;end%if循环结束%Rule2规则2if x(1)*x(2)>0|(x(2)=0)%if循环开始,如果误差增大或不变if%内嵌if循环开始,如果误差绝对值大于u(k)=u_1+2*kp*x(1);%控制器输出量施加较强控制else%否则u(k)=u_1+0.4*kp*x(1);%控制器输出量施加一般控制end%内嵌if循环结束end%if循环结束%Rule3规则3if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)=0)%if循环开始,如果误差减小或消除u(k)=u(k);%控制器输出量不变end%if循环结束%Rule4规则4if x(1)*x(2)<0&x(2)*x2_1<0%if循环开始,如果误差处于极值状态if%内嵌if循环开始,如果误差绝对值大于u(k)=u_1+2*kp*error_1;%控制器输出量施加较强控制else%否则u(k)=u_1+0.6*kp*error_1;%控制器输出量施加一般控制end%内嵌if循环结束end%if循环结束%Rule5:Integration separation PI control规则5;运用PI控制来消除误差if abs(x(1)<=0.001 %if循环开始如果误差绝对值小于(很小)u(k)=0.5*x(1)+0.010*x(3);%控制器输出量用比例和积分输出end%if循环结束%Restricting the output of controller对控制输出设限if u(k)>=10u(k)=10;%设控制器输出量上限值endif u(k)<=-10u(k)=-10;%设控制器输出量下限值end%Linear model Z变化后系统的线性模型y(k)=-den(2)*y_1-den(3)*y_2+num(1)*u(k)+num(2)*u_1+num(3)*u_2;error(k)=r(k)-y(k);%系统误差error的表达式,等于系统输入减去输出%-Return of parameters-%每步计算时的参数更新u_2=u_1;u_1=u(k);%u(k)代替u_1y_2=y_1;y_1=y(k);%y(k)代替y_1x(1)=error(k);%Calculating P 赋误差error值于x1x2_1=x(2);%赋值前步计算时的误差导数X2的值等于X2_1x(2)=(error(k)-error_1)/ts;% Calculating D 求误差导数x2,用于下一步的计算x(3)=x(3)+error(k)*ts;% Calculating I 求误差积分x3error_1=error(k);%赋误差error值于error_1end%for循环结束,整个仿真时长计算全部结束figure(1);%图形1plot(time,r,'b',time,y,'r');%画图,以时间为横坐标,分别画出系统输入、输出随时间的变化曲线xlabel('time(s)');ylabel('r,y');%标注坐标figure(2);%图形2plot(time,r-y,'r');%画r-y,即误差随时间的变化曲线xlabel('time(s)');ylabel('error');%标注坐标专家PID 控制MATLAB仿真程序过程及结果:Figure1:PID控制阶跃响应曲线Figure2:误差响应随时间变化曲线题目3-4: 如果且,则。现已知且,利用模糊推理公式(3.27)和(3.28)求,并采用MATLAB进行仿真。模糊推理MATLAB仿真程序清单:clear all;%清理数据库中所有数据close all;%关闭所有界面图形?A=1;0.5;%输入各元素在A中的隶属度B=0.1,0.5,1;%输入各元素在B中的隶属度C=0.2,1;%输入各元素在C中的隶属度%Compound of A and B %合成A和Bfor i=1:2%A矩阵的行数取值ifor j=1:3%B矩阵的列数取值j AB(i,j)=min(A(i),B(j);%实现A,B的“与”关系end end %Transfer to Column %转换列向量T1=;%定义转置矩阵T1for i=1:2%AB矩阵的行数取值i T1=T1;AB(i,:)'%转置AB矩阵end %Get fuzzy R %确立模糊关系矩阵Rfor i=1:6%R矩阵列数取值i for j=1:2%R矩阵行数取值j R(i,j)=min(T1(i),C(j);%确定模糊关系矩阵Rend endA1=0.8,0.1;%输入各元素在A1中的隶属度 B1=0.5,0.2,0;%输入各元素在B1中的隶属度 for i=1:2%A1矩阵的行数取值i for j=1:3%B1矩阵的行数取值j AB1(i,j)=min(A1(i),B1(j);%实现A1和B1的“与”关系end end %Transfer to Row%转换行向量 T2=;%定义转置矩阵T2for i=1:2%AB1矩阵的行数取值iT2=T2,AB1(i,:);%扩展A1B1矩阵end %Get output C1%确定输出for i=1:6%转置矩阵T2列数取值for j=1:2%模糊矩阵R行数取值 D(i,j)=min(T2(i),R(i,j); C1(j)=max(D(:,j);%输出C1矩阵 end end模糊推理MATLAB仿真程序过程及结果:AB与关系:转置矩阵T1:模糊矩阵R:A1B1与关系:转置矩阵T2:输出矩阵C1:题目4-3: 已知某一炉温控制系统,要求温度保持在600恒定。针对该控制系统有以下控制经验:(1)若炉温低于600,则升压;低得越多升压越高。(2)若炉温高于600,则降压;高得越多降压越低。(3)若炉温等于600,则保持电压不变。设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。输入、输出变量的量化等级为7级,取5个模糊集。试设计隶属度函数误差变化划分表、控制电压变化划分表和模糊控制规则表。解:输入(e)以及输出(u)分为5个模糊集:NB、NS、ZO、PS、PB。输入变量(e)以及输出变量(u)分为7个等级:-3、-2、-1、0、+1、+2、+3。炉温变化e划分表隶属度变化等级-3-2-10123模糊集PB000001PS000010ZO00100NS010000NB100000控制电压变化划分表隶属度变化等级-3-2-10123模糊集PB000001PS000010ZO00100NS010000NB100000模糊控制规则表若(IF)NBeNSeZOePSePBe则(THEN)NBuNSuZOuPSuPBu炉温模糊控制MATLAB仿真程序清单:%Fuzzy Control for furnace temperatureclear all;%清理数据库中所有数据close all;%关闭所有界面图形a=newfis('fuzz_temperature');%模糊炉温a=addvar(a,'input','e',-3,3);%Parameter e输入参数e的取值范围a=addmf(a,'input',1,'NB','zmf',-3,-1);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','trimf',-1,1,3);a=addmf(a,'input',1,'PB','smf',1,3);a=addvar(a,'output','u',-3,3);%Parameter u输出参数u的取值范围a=addmf(a,'output',1,'NB','zmf',-3,-1);a=addmf(a,'output',1,'NS','trimf',-3,-2,1);a=addmf(a,'output',1,'Z','trimf',-2,0,2);a=addmf(a,'output',1,'PS','trimf',-1,2,3);a=addmf(a,'output',1,'PB','smf',1,3);rulelist=1 1 1 1;%Edit?rule?base编辑规则库 2 2 1 1; 3 3 1 1; 4 4 1 1; 5 5 1 1;a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom');%Defuzzywritefis(a1,'temperature');%Save to fuzzy file "temperature.fis"保存模糊文件"temperature.fis"a2=readfis('temperature');figure(1);%图形1plotfis(a2);%画图figure(2);%图形2plotmf(a,'input',1);%画图figure(3);%图形3plotmf(a,'output',1);%画图flag=1;%设标志位1if flag=1%如果标志位为1showrule(a)%Show fuzzy rule base显示模糊规则库ruleview('temperature');%Dynamic Simulation动态模拟end%结束disp('-');disp(' fuzzy?controller?table:e=-3,+3,u=-3,+3 ');disp('-');for i=1:1:7e(i)=i-4;Ulist(i)=evalfis(e(i),a2);end%结束Ulist=round(Ulist)e=-3;%Error出错u=evalfis(e,a2)%Using fuzzy inference利用模糊推理炉温模糊控制MATLAB仿真程序过程及结果:1. 在MATLAB编辑环境下编写炉温模糊控制仿真程序Figure1:Figure2:Figure3:炉温规则查看器:调整输入变量可得到不同的输出仿真心得:通过这次课后仿真,让我对专家控制、模糊控制有了更进一步的理解,同时也对MATLAB这个重要的专业工具的使用更加熟练。

    注意事项

    本文(智能控制课后仿真(13页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开