基于观测器的T-S模糊系统故障分析simulink仿真
1.算法描述
T-S模糊模型是复杂非线性系统模糊建模中的一种典型的模糊动态模型,由Takagi 和Sugeno 于1985 年提出,其主要特点:前提部依据系统输入、输出间是否存在局部线性关系来进行划分,结论部由多项式线性方程来表达,从而构成各条规则间的线性组合,使非线性系统的全局输出具有良好的线性描述特性。模糊逻辑的设计不依赖被控对象的模型,但却非常依赖专家经验和知识。模糊逻辑的优点:能将人的控制经验通过模糊规则融入控制器中,通过设计模糊规则,实现高水平的控制器设计。
T-S模糊模型分为2种类型,一型T-S模糊系统是表示光滑非线性系统的有力工具。一般地,两种方法可以获得一型T-S模糊模型。
第一种方法主要基于系统的输入-输出数据,并运用系统辨识算法获得一型T-S模糊模型。当无法获得非线性系统的数学模型,而系统的输入-输出数据又可以获得时,主要采用这一方法。
第二种建模方法主要适合于非线性系统数学模型已知的情形。当非线性系统的数学模型已经被建立,运用扇区非线性法或局部近似方法可以获得期望的一型T-S模糊模型。
在T-S模糊模型中,对于双输入、单输出的系统可以用F条件语句:
来叙述。输出量u是一个数值函数f(x1,x2)。
对于1阶ts模型F推理,设第i条规则为Ri,则:
其中和表示第i条规则中的两个模糊集合。其中pi,qi,ri都是第i条规则的中的常数,他们共同反映了系统的固有特性。当输入量xi激活m条模糊规则时,最终输出U将由这m条规则的输出ui决定。
2.仿真效果预览
matlab2022a仿真结果如下:
3.MATLAB核心程序
rho=2; A1=[-0.1 50; -1 -10];%A1=3*3 A2=[-0.1-rho^2 50;-1 -10];%A2=3*3 E1=[0.1 -0.5]';%E1=3*1 E2=E1;%E2=3*1 D1=[0.01;0.05];%D1=3*1 D2=D1;%D2=3*1 C=[1 1];%C=2*3 H=0;%H=2*1=[0.01 0]' phi=1;%eye(2)-H*inv(H'*H)H' r1=0.5;r2=0.5; %%%%%%%% setlmis([]) % 定义未知变量 Gama=lmivar(2,[1 1])%(2,[1 2]) L1=lmivar(2,[2 1])%(2,[3 2]) L2=lmivar(2,[2 1])%(2,[3 2]) M1=lmivar(2,[1 1])%(2,[1 2]) M2=lmivar(2,[1 1])%(2,[1 2]) P=lmivar(1,[2 1])%(1,[3 1]) %LMI i=1 lmiterm([1 1 1 P],1,A1,'s') % lmiterm([1 1 1 P],-1,D1*inv(H)*C1,'s') lmiterm([1 1 1 L1],1,C,'s') lmiterm([1 2 1 Gama],1,phi*C*A1) lmiterm([1 2 1 M1],1,C) lmiterm([1 1 2 P],1,E1) lmiterm([1 1 3 P],-1,D1) lmiterm([1 1 3 L1],-1,H) lmiterm([1 2 2 Gama],1,phi*C*E1,'s') lmiterm([1 2 3 Gama],-1,phi*C*D1) lmiterm([1 2 3 M1],-1,H) lmiterm([1 2 4 0],1) lmiterm([1 3 3 0],-r1*r1) lmiterm([1 4 4 0],-r2*r2) %LMI i=2 lmiterm([2 1 1 P],1,A2,'s') lmiterm([2 1 1 L2],1,C,'s') lmiterm([2 2 1 Gama],1,phi*C*A2) lmiterm([2 2 1 M2],1,C) lmiterm([2 1 2 P],1,E2) lmiterm([2 1 3 P],-1,D2) lmiterm([2 1 3 L2],-1,H) lmiterm([2 2 2 Gama],1,phi*C*E2,'s') lmiterm([2 2 3 Gama],-1,phi*C*D2) lmiterm([2 2 3 M2],-1,H) lmiterm([2 2 4 0],1) lmiterm([2 3 3 0],-r1*r1) lmiterm([2 4 4 0],-r2*r2) %LMI 3 lmiterm([3 1 1 P],-1,1) %求解器 LMIs=getlmis [tmin,xfeas]=feasp(LMIs,[0,0,1000,0,0],-0.001)% %求解各变量的值 P=dec2mat(LMIs,xfeas,P) Gama=dec2mat(LMIs,xfeas,Gama) L1=dec2mat(LMIs,xfeas,L1) L2=dec2mat(LMIs,xfeas,L2) % r=dec2mat(LMIs,xfeas,r) M1=dec2mat(LMIs,xfeas,M1) M2=dec2mat(LMIs,xfeas,M2) A_098