模拟控制器的设计实例——洗衣机的模糊控制 传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就能实现控制器模拟人的思维方式来控制洗衣机。以模糊洗衣机的设计为例其控制是一个开环的决策过程,模糊控制按以下步骤进行。 1.模糊控制器的结构 选用单变量二维模糊控制器。控制器的输入为衣物的污泥和油脂,输出为洗涤时间。 2.定义输入、输出模糊集 将污泥分为3 个模糊集:SD(污泥少),MD(污泥中),LD(污泥多);取值范围为[0,100]。 3.定义隶属函数 选用如下隶属函数 50/5050/10050/50/50xxxxxxxμLDMDSD污泥 1005010050500500xxxx 采用三角形隶属函数可实现污泥的模糊化。 Matlab实现污泥隶属度函数的设计,其仿真程序为0001.m Close all; N=2; x =0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); end u =trimf(x ,[f(1),f(1),f(2)]); figu re(1); plot(x ,u ); for j=2:N u =trimf(x ,[f(j-1),f(j),f(j+1)]); hold on; plot(x ,u ); end u =trimf(x ,[f(N),f(N+1),f(N+1)]); hold on; plot(x ,u ); x label(‘x ’); y label(‘Degree of membership’); 污泥程序仿真结果: 010203040506070809010000.10.20.30.40.50.60.70.80.91xDegree of membership 将油脂分为三个模糊集:NG(无油脂)MG(油脂中)LG(油脂多),取值范围为[0,100] 选用如下隶属度函数 50/5050/10050/50/50yyyyyyyLGMGNG油脂 1005010050500500yyyy 采用三角形隶属函数实现油脂的模糊化。 Matlab实现油脂隶属度函数的设计,其仿真程序为0002. Close all; N=2; x =0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); end u =trimf(y ,[f(1),f(1),f(2)]); figu re(1); plot(y ,u ); for j=2:N u =trimf(y ,[f(j-1),f(j),f(j+1)]); hold on; plot(y ,u ); end u =trimf(y ,[f(N),f(N+1),f(N+1)]); hold on; plot(y ,u ); x label(‘y ’); y label(‘Degree of membership’); 油脂程序仿真结果: 010203040506070809010000.10.20.30.40.50.60.70.80.91yDegree of membershi...