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

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

1.算法描述

   T-S模糊模型是复杂非线性系统模糊建模中的一种典型的模糊动态模型,由Takagi 和Sugeno 于1985 年提出,其主要特点:前提部依据系统输入、输出间是否存在局部线性关系来进行划分,结论部由多项式线性方程来表达,从而构成各条规则间的线性组合,使非线性系统的全局输出具有良好的线性描述特性。模糊逻辑的设计不依赖被控对象的模型,但却非常依赖专家经验和知识。模糊逻辑的优点:能将人的控制经验通过模糊规则融入控制器中,通过设计模糊规则,实现高水平的控制器设计。
   T-S模糊模型分为2种类型,一型T-S模糊系统是表示光滑非线性系统的有力工具。一般地,两种方法可以获得一型T-S模糊模型。

   第一种方法主要基于系统的输入-输出数据,并运用系统辨识算法获得一型T-S模糊模型。当无法获得非线性系统的数学模型,而系统的输入-输出数据又可以获得时,主要采用这一方法。
   第二种建模方法主要适合于非线性系统数学模型已知的情形。当非线性系统的数学模型已经被建立,运用扇区非线性法或局部近似方法可以获得期望的一型T-S模糊模型。

   在T-S模糊模型中,对于双输入、单输出的系统可以用F条件语句:

image.png

来叙述。输出量u是一个数值函数f(x1,x2)。

对于1阶ts模型F推理,设第i条规则为Ri,则:

image.png

    其中和表示第i条规则中的两个模糊集合。其中pi,qi,ri都是第i条规则的中的常数,他们共同反映了系统的固有特性。当输入量xi激活m条模糊规则时,最终输出U将由这m条规则的输出ui决定。

2.仿真效果预览
matlab2022a仿真结果如下:

image.png

3.MATLAB核心程序
image.png

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
相关文章
|
人工智能 搜索推荐 算法
豆包角色制作指南
这篇文章是一份豆包角色制作指南,介绍了如何使用虚拟角色生成器创建IP或非IP角色,以及创作对话人物sp的技巧和Bot主动发消息的技巧。
|
11月前
|
NoSQL 测试技术
内存程序崩溃
【10月更文挑战第13天】
327 62
|
11月前
|
数据采集 存储 Java
Crawler4j在多线程网页抓取中的应用
Crawler4j在多线程网页抓取中的应用
|
11月前
|
NoSQL 测试技术 Redis
第一次面试总结 - 迈瑞医疗 - 软件测试
本文是作者对迈瑞医疗软件测试岗位的第一次面试总结,面试结果非常好,但面试过程中没有提问太多技术性问题,主要围绕个人介绍、互相了解、个人规划和项目亮点进行,因此作者认为这次面经的学习意义不大。作者还提到了实习岗位的待遇和工作内容,以及对不同阶段求职者的建议。
275 2
|
10月前
|
前端开发 JavaScript 数据挖掘
合成养成类游戏开发技术规则
合成养成类游戏结合了养成与合成的元素,提供策略性和趣味性的体验。开发涉及游戏设计、技术选型、开发测试、用户体验和合规安全等多方面规则,确保游戏品质、安全性和用户体验。通过合理的技术选型和精心设计,可以开发出具有市场竞争力的游戏产品。
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与DistributedDataParallel:分布式训练入门指南
【8月更文第27天】随着深度学习模型变得越来越复杂,单一GPU已经无法满足训练大规模模型的需求。分布式训练成为了加速模型训练的关键技术之一。PyTorch 提供了多种工具来支持分布式训练,其中 DistributedDataParallel (DDP) 是一个非常受欢迎且易用的选择。本文将详细介绍如何使用 PyTorch 的 DDP 模块来进行分布式训练,并通过一个简单的示例来演示其使用方法。
1818 2
|
Android开发
Android仿高德首页三段式滑动
Android仿高德首页三段式滑动
305 0
|
存储 关系型数据库 MySQL
MySQL多表关系详解
MySQL是一种常用的关系型数据库管理系统,它允许我们创建多个表格,并通过各种方式将这些表格联系在一起。在实际的数据库设计和应用中,多表关系是非常常见的,它能够更好地组织和管理数据,实现数据的复杂查询和分析。本文将详细介绍MySQL多表关系的基本概念、类型、设计原则以及常见应用场景。
713 2
|
关系型数据库 MySQL 数据库
Docker创建运行多个mysql容器
1.使用mysql/mysql-server:latest镜像快速启动一个Mysql实例 docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:lates...
5043 0
|
存储 算法 程序员
C++STL学习笔记(第一篇:stl是什么?为什么要学习stl?迭代器在stl中扮演着什么角色?)
C++STL学习笔记(第一篇:stl是什么?为什么要学习stl?迭代器在stl中扮演着什么角色?)
638 1

热门文章

最新文章