资源描述
1、已知某一炉温控制系统,要求温度保持在600度恒定。针对该控制系统有以下控制经验:(1) 若炉温低于600度,则升压;低的越多升压越高。(2) 若炉温高于600度,则降压;高的越多降压越低。(3) 若炉温等于600度,则保持电压不变。设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。输入、输出变量的量化等级为7级,取5个模糊集。试设计隶属度函数误差变化划分表、控制电压变化划分表和模糊控制规则表。解:1)确定变量定义理想温度为600,实际温度为T,则温度误差为E=600-T。将温度误差E作为输入变量2)输入量和输出量的模糊化将偏差E分为5个模糊集:NB、NS、ZO、PS、PB,分别为负小、负大、零、正小、正大。将偏差E的变化分为7个等级:-3 -2 -1 0 1 2 3,从而得到温度模糊表如表1所示。表1 温度变化E划分表隶属度变化等级-3-2-10123模糊集PB000000.51PS000010.50ZO000.510.500NS00.510000NB10.500000控制电压u也分为5个模糊集:NB、NS、ZO、PS、PB,分别为负小、负大、零、正小、正大。将电压u的变化分为7个等级:-3 -2 -1 0 1 2 3,从而得到电压变化模糊表如表2所示。 表2 电压变化u划分表隶属度变化等级-3-2-10123模糊集PB000000.51PS000010.50ZO000.510.500NS00.510000NB10.500000表3 模糊控制规则表EPBPSZONSNBuPBPSZONSNB 2、利用MATLAB,为下列两个系统设计模糊控制器使其稳态误差为零,超调量不大于1%,输出上升时间0.3s。假定被控对象的传递函数分别为: 解:在matlab窗口命令中键入fuzzy,得到如下键面:设e的论域范围为-1 1,de的论域范围为-0.1 0.1,u的论域范围为0 2。将e分为8个模糊集,分别为NB ,NM, NS, NZ, PZ, PS, PM, PB; de分为7个模糊集,分别为NB ,NM ,NS, Z ,PS ,PM ,PB; u分为7个模糊集,分别为NB ,NM ,NS, Z ,PS ,PM ,PB;MATLAB中的设置界面如下:模糊规则的确定:模糊控制器的输出量在simulink中调用模糊控制器,观察输出结果运行结果为Scope Scope1 Scope2 3、利用去模糊化策略,分别求出模糊集A的值。模糊集A的定义为:解:(1)面积重心法(2)面积等分法(3) 最大隶属度平均法(4) 最大隶属度取最小法(5) 最大隶属度取最大法4、设论域x=a1,a2,a3,y=b1,b2,b3,z=c1,c2已知 , 试确定“If A AND B then C”所决定的模糊关系R,以及输入为时的输出C1。解: 5 利用两层BP神经网络完成对-,区间上正弦函数逼近,隐层函数取S型传输函数,输出层的激活函数取线性传输函数。(采用神经网络工具箱提供的函数完成)解:根据条件在MATLAB环境下,采用神经网络工具箱提供的函数完成正弦函数逼近如下:程序代码如下:仿真结果如下:图1为原函数与网络训练前后仿真结果的比较(图中红色曲线代表训练前的网络,绿色代表训练后的网络,蓝色代表原函数) 图1 原函数与网络训练前后的仿真结果图2为误差曲线图2 误差曲线
展开阅读全文