您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页模糊控制器的查询表的实例计算过程

模糊控制器的查询表的实例计算过程

来源:华佗健康网
模糊控制器的查询表的实例计算过程

用模糊控制实现水箱水温的恒温控制。水箱由底部的电阻性电热元件加热,由电动搅拌器实现均温.设控制的目标温度为25ºC,以实测温度T与目标温度R之差,即误差e=T-R,以及误差变化率ec为输入,以固态继电器通电时间的变化量u(以一个控制周期内的占空比表示,控制电加热器的功率)为输出.设e的基本论域为[-5,5] ºC,其语言变量E的论域为[-5,5];ec的基本论域为[-1,1] ºC/s,其语言变量EC的论域为[—5,5];控制量u的基本论域为[—5,5]单位,其语言变量U的论域为[—5,5]。E、EC和U都选5个语言值{NB,NM,NS,Z,PS,PM,PB},各语言值的隶属函数采用三角函数,其分布可用表1和表2表示,控制规则如表3所示。要求:1、画出模糊控制程序流程图;2、计算出模糊控制器的查询表,写出必要的计算步骤。 表1 语言变量E、EC的赋值表

-5 0 0 0 0 1 —4 -3 0 0 0 0 0 0 -2 0 0 0 -1 0 0 0 0 0 1 0 0 2 0 3 0.1 4 5 PB PS ZE NS NB

0.4 1 0.5 0 0 0 0 0 0 0 0.5 1 0 0 0 0。3 1 0 0 0.3 0 0 0 0 0 0。5 1 0.4 0.1 0。5 0 0 0 表2 语言变量U的赋值表

—5 -4 0 0 0 0 1 0 0 0 —3 0 0 0 —2 -1 0 0 0 0 0 0 0 0 1 0 0 2 0 3 4 5 PB PS ZE NS NB

0。2 0.6 1 0.4 0 0 0 0 0 0 0 0。4 1 0 0 0 0.5 1 0 0 0.5 0 0 0 0 0 0。4 1 0。6 0.2 0。4 0 0 0 表3 模糊控制规则表(内容为控制量U)

模糊控制器的查询表的实例计算过程

EC E NB NB NS ZE PS PB 解:步骤:

1)输入输出语言变量的选择。输入变量选为实测温度T与目标温度R之差,即误差e,及误差变

NS PB PS PS ZE NS ZE PB PS ZE NS NB PS PS ZE NS NS NB PB ZE NS NS NB NB PB PB PS PS ZE 化率ec;输出语言变量选固态继电器通电时间的变化量u,故模糊控制系统为双输入—单输出的基本模糊控制器.

2)建立各语言变量的赋值表。设误差e的基本论域为[-5,5],输入变量E的论域为[-5,—4,

.C

-3,—2,-1,0,1,2,3,4,5],误差的量化因子为ke=5/5=1。语言变量E选取5个语言值:

PB,PS,ZE,NS,NB。表1为语言变量E、EC的赋值表,表2为语言变量U的赋值表

表1语言变量E、EC的赋值表

-5 0 0 0 0 1 -4 0 0 0 -3 0 0 0 —2 -1 0 0 0 0 0 0 0 0 1 0 0 2 0 3 4 5 PB PS ZE NS NB 0。1 0.4 1 0.5 0 0 0 0 0 0 0 0.5 1 0 0 0 0.3 1 0 0 0。3 0 0 0 0 0 0。5 1 0.5 0 0 0。4 0。1 0 表2 语言变量U的赋值表

—5 —4 -3 -2 —1 0 1 2 3 4 5 模糊控制器的查询表的实例计算过程

PB PS ZE NS NB 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.6 1 0。4 0 0 0 0 0 0 0 0.4 1 0 0 0 0.5 1 0 0 0.5 0 0 0 0 0 0.4 1 0.6 0.2 0。4 0 0 0 3)建立模糊控制规则表,总结控制策略,得出一组由25条模糊条件语句构成的控制规

则,据此建立模糊控制规则表,如表3所示.表中行与列交叉处的每个元素及其所在列的第一行元素和所在行的第一列元素,对应于一个形式为”if E and EC then U”的模糊语句,根据该模糊语句可得相应的模糊关系Ri,则总控制规则的总模糊关系为R=URi。

i125表3 模糊控制规则表(内容为控制量U)

EC E NB NB NS ZE PS PB PB PB PS PS ZE NS PB PS PS ZE NS ZE PB PS ZE NS NB PS PS ZE NS NS NB PB ZE NS NS NB NB 4)建立查询表。根据推理合成原则,输出模糊集合U(EE)T2R,利用判决结果可建立模糊控

制器查询表。通过查表得出U,乘以比例因子Ku,(Ku=umax/n=5/5=1),即查表得出的结果U即为控制量的值u.

5)流程图如下图所示

模糊控制器的查询表的实例计算过程

流程图

6)在线查询表如表4所示

表4 U的在线查询表

EC —5 5 5 5 5 3 3 —4 5 3 3 3 3 3 -3 5 3 3 3 3 3 -2 5 3 3 3 3 3 -1 5 3 3 3 0 0 0 5 3 3 3 0 0 1 5 3 3 3 0 0 2 3 0 0 0 —3 —3 3 3 0 0 0 -3 -3 4 3 0 0 0 —3 -3 5 0 0 0 0 -3 -3 —5 -4 -3 -2 —1 0 E 模糊控制器的查询表的实例计算过程

1 2 3 4 5 3 3 3 3 0 3 0 0 0 —3 3 0 0 0 -3 3 0 0 0 —3 0 -3 -3 —3 —5 0 —3 -3 -3 -5 0 —3 -3 —3 —5 -3 -3 -3 -3 -5 —3 —3 —3 —3 —5 -3 —3 —3 —3 —5 —3 -5 -5 —5 -5 附:程序代码

E=[1 0。4 0.1 0 0 0 0 0 0 0 0; 0 0。5 1 0。5 0 0 0 0 0 0 0; 0 0 0 0 0。3 1 0.3 0 0 0 0; 0 0 0 0 0 0 0 0.5 1 0.5 0;

0 0 0 0 0 0 0 0 0。1 0.4 1];%5*11 E的赋值表矩阵 EC=E;

U=[1 0。6 0.2 0 0 0 0 0 0 0 0; 0 0.4 1 0.4 0 0 0 0 0 0 0; 0 0 0 0 0。5 1 0.5 0 0 0 0; 0 0 0 0 0 0 0 0。4 1 0.4 0; 0 0 0 0 0 0 0 0 0.2 0.6 1]; rule=[5 5 5 4 3; 5 4 4 3 3; 4 4 3 2 2; 4 3 2 2 1;

3 2 1 1 1];%5*5模糊控制规则表矩阵

R=zeros(121,11);%申请模糊控制的隶属度关系矩阵%计算模糊控制隶属度关系矩阵R? for ii=1:5

模糊控制器的查询表的实例计算过程

for jj=1:5

U_rule=rule(ii,jj);%按控制规则表找出语言变量对应的向量 A=E(ii,:); B=EC(jj,:);

C=U(U_rule,:); %根据模糊算法,求(A’×B)对应按值取小 for i=1:11 for j = 1:11 if A(i)〉B(j) R_C(i,j)=B(j); else

R_C(i,j)=A(i); end end end

R_C1=reshape(R_C',11*11,1);%转置成121*1的列向量,形成单条控制语句的模糊关系的隶属度函数R1 for i=1:11*11 for j=1:11

if R_C1(i)〉C(j)

R1(i,j)=C(j);%得到R1是121*11的矩阵 else

R1(i,j)=R_C1(i); end end

模糊控制器的查询表的实例计算过程

end %将R1合成为整个模糊关系的隶属度函数R,R是121*11的矩阵 for i=1:121 for j=1:11

if R(i,j)〈R1(i,j) R(i,j)=R1(i,j); end end end end end

%计算控制量U1=(A1×B1)T2.R,T2表示前面矩阵转化成行向量 for iii=1:11

for jjj=1:11 %求E的量化值对应的语言值的所对应的行向量 temp_maxA=E(1,iii); line_no=ones(3,1); for k=1:5

if(temp_maxA〈E(k,iii)) temp_maxA=E(k,iii); line_no(1)=k; end end

A1=E(line_no(1),:);%求EC的量化值对应的语言值的所对应的行向量 temp_maxB=EC(1,jjj); for k=1:5

模糊控制器的查询表的实例计算过程

if(temp_maxBB1=EC(line_no(2),:);%求(A1×B1),并转置为行向量 for ii=1:11 for jj=1:11

if A1(ii)>B1(jj)

Temp(ii,jj)=B1(jj); else

Temp(ii,jj)=A1(ii); end end end

Temp_T=reshape(Temp',121,1)’;%求出控制量 U1=zeros(1,11); for ii=1:11

for jj=1:121 %将矩阵乘法中对应的项先取小,然后在取大,得到新的控制行向量 U1(ii)=max(min(Temp_T(jj),R(jj,ii)),U1(ii)); end end

temp_maxU1=U1(1);%用最大隶属度方法去模糊化,求得可量化的值 for k=1:11

if(temp_maxU1U(iii,jjj)=line_no(3)—6;%将结果从(1,end end

模糊控制器的查询表的实例计算过程

匹配到(-5,5) 11)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务