线性系统理论及应用GUI设计及仿真

news2024/10/8 18:09:04

目录

1.控制系统的状态空间模型

1.1.状态空间模型

1.2 传递函数模型

1.3 传递函数转换为状态空间模型

1.4.状态空间模型转换为传递函数

1.5.状态空间模型转化为约当标准型

2.线性系统的时域分析

2.1.矩阵指数函数的计算

2.2.线型定常连续系统的状态空间模型求解

3.线性系统能控性和能观性

3.1.状态能控性判定

3.2.状态能观性的判定

3.3.能控标准型与能观标准型

3.4 按能控标准型分解和按能观标准型分解

3.5.最小实现函数

4.李雅普诺夫稳定性分析

4.1.对称矩阵正定性的判定

4.2.连续系统李雅普诺夫判定

4.3.离散系统李雅普诺夫方程求解

5.线性系统综合

5.1反馈控制系统的模型计算

5.2.系统状态反馈极点配置

5.3降维观测器设计

本文界面设计主要基于MATLAB GUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,实现了用于线性系统理论及应用界面的设计。主要包括: 控制系统的状态空间模型,线性系统的时域分析,线性系统能控性和能观性,李雅普诺夫稳定性分析和线性系统综合。

1.控制系统的状态空间模型

1.1.状态空间模型

已知线型定常连续系统Σ(A,B,C,D),可调用函数ss(·)建立其状态空间模型,调用格式为:sys=ss(A,B,C,D)。

已知线型定常离散系统Σ(G,H,C,D),可调用函数ss(·)建立其状态空间模型,调用格式为:sys=ss(G,H,C,D,Ts)。其中,Ts为采样周期,输出sys为离散系统的状态空间描述。

                  图2 仿真界面 

GUI界面的输入框和选择框上输入各输入项和选择项,按“确定”键,则有如图2所示的仿真界面输出。

1.2 传递函数模型

num=(bm,bm-1, … , b0)

den=(1,an-1, … , a0)

单输入单输出线型定常连续系统的调用格式为:

sys=tf(num,den)

单输入单输出线型定常离散系统的调用格式为:

sys=tf(num,den,Ts)

            图3 传递函数模型

1.3 传递函数转换为状态空间模型

[A,B,C,D]=tf2ss(num,den)

执行该命令后,输出为状态空间模型的系数矩阵A,B,C,D。

 图4 传递函数转换为状态空间模型

1.4.状态空间模型转换为传递函数

[num,den]=ss2tf(A,B,C,D)

执行该命令后,输出为传递函数分子和分母多项式的系数数组num,den。

图5 状态空间模型转换为传递函数

1.5.状态空间模型转化为约当标准型

[P,J]=jordan(A)

其中,J是A的约当标准型,P是将A变换为J的线性变换矩阵。

    图6 状态空间模型转化为约当标准型

2.线性系统的时域分析

2.1.矩阵指数函数的计算

(1)对eAt进行数值计算时:eAt=expm(A)

计算结果如图1所示

           图7 eAt数值计算

(2)对eAt进行符号计算时:eAt=expm(A)

其中,t为符号变量,表达式A*t为MATLAB的符号矩阵。

          图8 eAt符号计算

2.2.线型定常连续系统的状态空间模型求解

(1)任意输入的系统响应函数lsim()

[y,t,x]=lsim( sys,u,t,x0)

其中,sys为系统的状态空间模型,t为时间坐标数组,u为输入信号对应于t的各时刻输入信号采样值组成的数组,x0为初始状态向量。

        图9 任意输入的系统响应

(2)初始状态响应函数initial()

[y,t,x] = initial(sys,x0,t)

其中sys为输入的状态空间模型;x0为给定的初始状态;t为指定仿真计算状态响应的时间区间变量(数组)。

         图10 初始状态响应

(3)连续系统离散化

将连续系统的传递函数模型和状态空间模型变换为离散系统的传递函数模型和状态空间模型,其主要调用格式为

sysd = c2d(sys,Ts,method)

其中,sys为输入的连续系统传递函数模型或状态空间模型;

sysd为离散化所得的离散系统传递函数模型或状态空间模型;

Ts为采样周期;

method为离散化方法选择变量,它可以为zoh、foh、tustin和matched等,分别对应于基于0阶和1阶保持器的离散化法、双线性法和零极点匹配法。

     图11 连续系统离散化

3.线性系统能控性和能观性

3.1.状态能控性判定

Qc=ctrb(A,B)

Qc=ctrb(sys)

其中,第一种输入格式为直接给定系统矩阵A和输入矩阵B,第二种格式为给定状态空间模型sys。

输出矩阵Qc为计算所得的能控性矩阵。

基于能控性矩阵函数ctrb()及能控性矩阵Qc的秩的计算,就可以进行连续线性定常系统的状态能控性的代数判据判定。

k=rank(A)

k=rank(A,tol)

其中,A为输入矩阵,输出k为A的秩。

d=size(X)

m=size(X,dim)

[d1,d2,d3,...,dn]=size(X)

其中,输出d为数组X的各维的大小组成的一维数组;m为数组X的第dim维的大小;d1,d2,d3,…,dn为数组X的各维的大小。

          图11 状态能控性判定

3.2.状态能观性的判定

Qo=obsv(A,C)

Qc=obsv(sys)

其中,第一种输入格式为直接给定系统矩阵A和输入矩阵C,第二种格式为给定状态空间模型sys。

输出矩阵Qo为计算所得的能观性矩阵。

基于能观性矩阵函数obsv()及能观性矩阵Qo秩的计算,就可以进行连续和离散线性定常系统的状态能观性的代数判据判定

图12 连续系统状态能控性判定

图13 离散系统状态能控性判定

3.3.能控标准型与能观标准型

MATLAB提供的建立系统标准型的函数cannon(·)只能用于建立对角线标准型和单输入单输出能控标准型。

图14 能控规范Ⅰ形

3.4 按能控标准型分解和按能观标准型分解

MATLAB提供了.按能控标准型分解的函数ctrbf(·)和按能观标准型分解的函数obsvf(·)。

图15 能控性分解

图16 能观性分解

3.5.最小实现函数

G_minreal=minreal(G)

其中,G_minreal为系统的最小实现,G为系统的状态空间模型。

             图17 最小实现

4.李雅普诺夫稳定性分析

4.1.对称矩阵正定性的判定

A_eig=eig(A)

其中A_eig为矩阵A的全部特征值构成的向量。

判别矩阵P的正定性也可利用上述函数,若特征值全部大于0,则P正定。

另一种判定矩阵正定性的函数posit_def()的主要调用格式为

sym_P=posit_def(P)

其中,输入矩阵P须为对称矩阵,

输出sym_P为描述矩阵P的符号串。

输出sym_P为'positive', 'nonnegat','negative','nonposit'和'undifini'分别表示输入矩阵P为正定、非负定(半正定)、负定、非正定(半负定)与不定。

图18 对称矩阵正定性的判定

4.2.连续系统李雅普诺夫判定

求解连续系统李雅普诺夫方程ATP+PA=-Q中的对称矩阵P,调用格式为:

P=lyap(A',Q)

图19 连续系统李雅普诺夫判定

4.3.离散系统李雅普诺夫方程求解

求解离散系统李雅普诺夫方程GTPG-P=-Q中的对称矩阵P,调用格式为:

P=dlyap(G',Q)

图20 离散系统李雅普诺夫判定

5.线性系统综合

5.1反馈控制系统的模型计算

基于反馈系统模型函数fdb_model (),可方便地求解闭环控制系统的状态空间模型和传递函数模型。函数fdb_model()的调用格式为:

clsys = fdb_model(sys,K,H,type1,type2)

其中,sys为状态空间模型;K为反馈矩阵;H为前馈矩阵。

图21 反馈控制系统的模型计算

5.2.系统状态反馈极点配置

对于单输入线性定常系统Σ0(A,b):

K=acker(A,b,p)

其中,p为闭环系统期望极点构成的一维数组,输出K为状态反馈矩阵。

其中,p为闭环系统期望极点构成的一维数组,输出K为状态反馈矩阵。该函数既可用于单输入系统,也可适用于多输入系统。

图22 极点配置

5.3降维观测器设计

降维观测器仿真函数rdobsv_lsim(),

函数obsv_lsim()的调用格式为[yt,eyt,t,xt,ext]=obsv_lsim(sys,G,u,t,x0,ex0)

其中,输入格式的sys为被控对象模型,G为状态观测器增益矩阵,

x0和ex0分别为被控对象和状态观测器的初始状态,

u和t分别为被控系统的输入信号采样序列和时间数组;

输出格式的yt和xt为被控对象的输出响应和状态响应, eyt和ext分别为状态观测器的输出和状态的估计值。

图23 降维观测器设计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java后端项目启动失败,解决端口被占用问题

报错信息: Web server failed to start . Port 8020 was already in use. 1、查看端口号 netstat -ano | findstr 端口号 2、终止进程 taskkill /F /PID 进程ID 举例:关闭8020端口

Echarts 实现空心圆的绘制

文章目录 需求分析在指定位置绘制需求 如图所示,绘制空心圆 分析 <!DOCTYPE html> <html><head><meta charset=

dive deeper into tensor:从底层开始学习tensor

inspired by karpathy/micrograd: A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API (github.com)and Taking PyTorch for Granted | wh (nrehiew.github.io). 这属于karpathy的karpathy/nn-zero-to-hero: Neural Networks…

【数据结构】深入理解哈希及其底层数据结构

目录 一、unordered系列关联式容器 二、底层结构 2.1 哈希的概念 2.2 哈希冲突&#xff08;哈希碰撞&#xff09; 2.3 哈希函数 2.4 哈希冲突处理 2.4.1 闭散列&#xff08;开放定址法&#xff09; 2.4.1.1 代码实现&#xff1a; 2.4.2 开散列&#xff08;链地址法&…

利用视频识别做一个土粒实时监测系统

要利用视频识别技术构建一个土粒实时监测系统&#xff0c;我们可以参考以下方案&#xff0c;该方案结合了计算机视觉、深度学习以及相关技术的要点。 一、系统概述 土粒实时监测系统基于先进的视频识别技术&#xff0c;旨在实现对土壤颗粒的实时、准确监测。该系统可以应用于…

Android启动优化之精确测量启动各个阶段的耗时

1. 直观地观察应用启动时长 我们可以通过观察logcat日志查看Android应用启动耗时&#xff0c;过滤关键字"Displayed"&#xff1a; ActivityTaskManager: Displayed com.peter.viewgrouptutorial/.activity.DashboardActivity: 797ms 启动时长(在这个例子中797ms)表示…

水库大坝安全监测险情主要内容

水库常见险情主要包括洪水漫顶、脱坡滑坡、坝体裂缝、 散浸、渗漏、漏洞、陷坑、管涌等&#xff0c;此外风浪冲击、水流冲刷等也会加剧险情的扩大。大坝险情万一抢护不及时&#xff0c;易导致发 生溃坝事故&#xff0c;造成极为严重的灾难性后果。要做到及时有效地 抢护大坝险情…

智慧金融-数据可视化

智慧金融-数据可视化 导入所需的库 import numpy as np import numpy_financial as npf import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans-serif][FangSong] mpl.rcParams[axes.unicode_minus]False单图曲线图 r 0.05 # 贷款的年利率 n 30…

28.IP核理论知识(Xilinx)

&#xff08;1&#xff09;ip核是什么&#xff1f; IP&#xff08;Intellectual Property&#xff09;即知识产权&#xff0c;在半导体产业中&#xff0c;将IP核定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”&#xff0c;简而言之&#xff0c;这里的IP即电路功能模块。…

使用 `useAppConfig` :轻松管理应用配置

title: 使用 useAppConfig &#xff1a;轻松管理应用配置 date: 2024/7/11 updated: 2024/7/11 author: cmdragon excerpt: 摘要&#xff1a;本文介绍了Nuxt开发中useAppConfig的使用&#xff0c;它便于访问和管理应用配置&#xff0c;支持动态加载资源、环境配置切换、权限…

MacOS 开发 — Packages 程序 macOS新版本 演示选项卡无法显示

MacOS 开发 — Packages 程序 macOS新版本 演示选项卡无法显示 问题描述 &#xff1a; 之前写过 Packages 的使用以及如何打包macOS程序。最近更新了新的macOS系统&#xff0c;发现Packages的演示选项卡无法显示&#xff0c;我尝试从新安转了Packages 也是没作用&#xff0c;…

医院人员管理系统03_上午:JDBC连接数据库,完成简单的增删改查

文章目录 jdbc连接数据库什么是jdbc完成jdbc的步骤导入jar包写三个类DBConn.java加载驱动类&#xff1a;找到对应的然后写上获取连接关闭连接代码解释 最后写一个main方法调用测试一下运行结果 Students.javaStudentDao.java 运行结果![](https://i-blog.csdnimg.cn/direct/ba2…

bC一体化:推拉联动双向引擎促增长

在数字化浪潮的推动下&#xff0c;快消品行业正面临着前所未有的变革。在过去的几十年里&#xff0c;快速消费品的渠道分销模式发展经历了几个重要的阶段。传统渠道分销模式&#xff0c;从多级分销商的“批发制胜”到“深度分销”的人海战术&#xff0c;在过去的几十年内虽各有…

工业智能网关的功能特点及应用

工业智能网关的功能特点及应用 工业智能网关作为工业互联网架构中的关键组件&#xff0c;扮演着数据桥梁与边缘计算核心的角色&#xff0c;它不仅促进了物理设备与云端平台之间的高效通信&#xff0c;还通过集成的高级功能推动了工业4.0时代的智能化转型。以下是对其功能特点及…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第二十五章 Source Insight 的安装和使用

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

智慧景区建设方案PPT(54页)

智慧景区建设方案摘要 背景简述智慧景区建设旨在通过信息技术改进和创新传统旅游景区&#xff0c;整合旅游资源和产业链&#xff0c;实现精准网络营销&#xff0c;提升旅游品牌价值&#xff0c;改善信息共享和业务协同&#xff0c;提高旅游产业链效率。基础设施包括高速光纤网络…

FunAudioLLM SenseVoice语音转录(ASR)与CosyVoice语音合成(TTS)及语音克隆使用案例;webui可视化页面操作使用

参考: https://fun-audio-llm.github.io/ 1、SenseVoice语音转录 在线体验:https://modelscope.cn/studios/iic/CosyVoice-300M 参考:https://github.com/FunAudioLLM/SenseVoice 下载: pip install -U funasr使用: from funasr import AutoModelmodel_dir = "…

Nature Climate Change | 气候暖化使土壤碳库易受微生物快速降解影响

本文首发于“生态学者”微信公众号&#xff01; 整个北半球土壤有机碳总量的一半富集在北极地区&#xff0c;其原因是气温较低导致微生物对永久冻土带土壤有机碳的分解缓慢&#xff0c;有利于有机碳的积累。但由于人类活动的影响&#xff0c;近几十年来北极出现了明显的升温&am…

第三方软件测试报告内容详解,如何获取专业软件测试报告?

在现代社会中&#xff0c;软件已经渗透到了各个行业的方方面面&#xff0c;而软件的质量也成为了企业成功的重要因素之一。然而&#xff0c;在软件开发过程中&#xff0c;由于人力、物力、时间等各种因素的限制&#xff0c;难免会出现一些问题和bug&#xff0c;而这些问题又可能…

【Linux系统】信号量(初次理解)

五个概念 多个执行流&#xff08;进程&#xff09;&#xff0c;能看到的一份资源&#xff1a;共享资源被保护起来的资源可以叫临界资源&#xff08;同步和互斥&#xff09; --- 用互斥的方式保护共享资源就叫临界资源互斥&#xff1a;任何时刻只能有一个进程在访问共享资源资源…