基于观测器的T-S模糊系统故障分析simulink仿真

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


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

4.完整MATLAB

V

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱C编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值