【现代控制系统】从状态方程导出微分方程

从状态方程导出微分方程

2023年6月20日



1. 基本方法

状态空间表达式:
x ˙ ( t ) = A x ( t ) + B u ( t ) y ( t ) = C x ( t ) + D u ( t ) \begin{aligned} &\dot{ x}(t)={ A }{ x }(t)+{ B }{ u } (t) \\ &{ y }(t)={ C } { x }(t)+{ D } { u }(t) \end{aligned} x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)
矩阵 D D D的列数和矩阵 B B B相等,矩阵 D D D的行数和矩阵 C C C相等。
拉氏变换下:
s X ( s ) − X ( 0 ) = A X ( s ) + B U ( s ) Y ( s ) = C X ( s ) + D U ( s ) \begin{align*} s{ X}(s)-{ X}(0)=&{ A }{ X }(s)+{ B }{ U } (s)\\ { Y }(s)=&{ C } { X }(s)+{ D } { U }(s) \end{align*} sX(s)X(0)=Y(s)=AX(s)+BU(s)CX(s)+DU(s)
零状态下可以推出:
Y ( s ) = [ C ( s I − A ) − 1 B + D ] U ( s ) = G ( s ) U ( s ) \begin{align*} { Y}(s)=&[{ C}(s{ I}-{ A})^{-1}{ B}+{ D}]{ U}(s) \\ \\ =&{ G}(s){ U}(s) \end{align*} Y(s)==[C(sIA)1B+D]U(s)G(s)U(s)
所以传递函数矩阵:
G ( s ) = C ( s I − A ) − 1 B + D { G}(s)={ C}(s{ I}-{ A})^{-1}{ B}+{ D} G(s)=C(sIA)1B+D

clc;clear
A = [0 1 0; 0 -4 3; -1 -1 -2]; % 一个MIMO的系统示例
B = [0 0; 1 0; 0 1];
C = [1 0 0; 0 0 1];
D = [0 0 ;0 0];syms s
sI = s * eye(size(A)); 
Gs = C*((sI-A)^-1)*B+D  % 求传递函数矩阵的公式
pretty(Gs)

代码对于SISO的系统也能使用。
matlab提供了一个现成的函数,ss2tf,可以直接得到系数,

[N1, D1] = ss2tf(A, B, C, D, 1) % 第一个输入对应的 y1 和 y2 的传递函数

注意这里得到的是相当于 u 2 ( s ) = 0 u_2(s)=0 u2(s)=0 时候 y 1 ( s ) y_1(s) y1(s) y 2 ( s ) y_2(s) y2(s)的传递函数,N1第一行是 y 1 ( s ) y_1(s) y1(s)传递函数分母的系数,第二行是 y 2 ( s ) y_2(s) y2(s)传递函数分母的系数。
特征方程:

poly2sym(D1, s)

题一嘴,这个函数如果第一个输入的列数大于一,会按先列后行的方式分配系数。


2. 电路与符号函数

上面的代码也可以推导符号函数,注意符号函数除法分母的括号不要漏写:

syms s R C1 C2 L
A = [-1/(C1*R), 0, -1/C1; 0, 0, 1/C2; 1/L, -1/L, 0]
B = [1/(C1*R); 0; 0];
C = [1, -1, 0];
D = 0;
sI = s * eye(size(A)); 
Gs = C*((sI-A)^-1)*B+D;  % 求传递函数矩阵的公式
pretty(simplify(Gs))

在这里插入图片描述

一般有几个电容+电感,就有几个状态变量,即几阶电路。电容的电压、电感的电流常作为状态变量。但当两个电容并联,或者两个电感串联时,可以合并成一个状态变量。


下链


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

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

相关文章

基于Javaweb开发的二手图书零售系统详细设计【附源码】

基于Javaweb开发的二手图书零售系统详细设计【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统…

java的==运算符和equals详解

①chatgpt的解释 在Java中,和equals都是用于比较两个对象的操作符,但它们的行为和用途有所不同。 操作符: 对于基本数据类型,比较的是它们的值是否相等。例如,int a 5; int b 5; System.out.println(a b); // 输出t…

内网穿透natapp使用教程(Linux)

我的使用场景:在家访问学校服务器,由于不在一个局域网,所以需要使用内网穿透,我使用的是natapp。需要在有局域网的时候做好以下步骤。 (natapp官网:https://natapp.cn/) 1. 下载客户端 &#x…

springboot入门2

学习目标: 了解数据库配置加密方法,数据库连接池,mybatis-paginationInterceptor分页,pagehelper分页常用功能 学习内容: 1、mybatis plus配置加密 1.1、生成加密配置 package sccba.example;import com.baomidou…

盲盒App小程序开发:引领未来购物新潮流

随着科技的不断发展,我们的购物方式也在不断改变。近年来,盲盒购物逐渐成为了一种新型的消费模式,受到了广大消费者的热烈欢迎。为了满足消费者的需求,越来越多的企业开始涉足盲盒App的开发。本文将探讨盲盒App开发的意义、前景以…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕

上一篇:[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

【GitHub项目推荐--国外名校AI教程】【转载】

这个开源项目搜集了 YouTube 上优质的机器学习教程,方向包括机器学习、深度学习、计算机视觉、自然语言处理、无监督学习等等。 开源地址:https://github.com/dair-ai/ML-YouTube-Courses

[260. 只出现一次的数字 III](C语言题解)(位运算)(力扣)

> Problem: [260. 只出现一次的数字 III](260. 只出现一次的数字 III - 力扣(LeetCode)) # 思路 > 想到数组中只有一个数只出现了一次的解法:**所有数异或,最后答案就是那个只出现一次的数**,该题只需将两个不…

Kubernetes成本优化

云原生可以帮助团队更精细化利用资源,但如果缺乏工具的帮助,很难采取适当的措施优化资源的使用。本文介绍了若干用于可视化Kubernetes资源使用情况的工具,并且可以自定义策略优化资源使用,实现更好的成本优化。原文: Kubernetes C…

《WebKit 技术内幕》学习之十五(5):Web前端的未来

5 Crosswalk项目 Crosswalk项目是由英特尔公司发起的一个开源项目,该项目基于WebKit(Blink)和Chromium等开源项目打造,其目的是提供一个跨不同操作系统的Web运行环境,包括Android、Tizen、Linux、Windows、MacOS等众多…

python使用PaddleOCR实现《命名实体识别项目》OCR(已实现)(ai领域必看,简单易用)

1.简介: PaddleOCR是飞桨(PaddlePaddle)推出的一个端到端的光学字符识别开源工具集,支持中文、英文、数字以及特殊符号等各种类型的文字检测、识别和词语整体识别。该工具集使用PaddlePaddle深度学习框架技术,提供了多…

Likeshop多商户商城源码系统,支持二开

在电商行业高速发展的当下,拥有一套功能强大、易于操作的开源商城系统至关重要。Likeshop多商户商城系统正是这样一款集H5、小程序、独立APP于一体的开源电商解决方案,助力商家实现智能营销。 一、产品简介 Likeshop多商户商城系统为商家提供了丰富的营…

Spring Boot 中 Service 层依赖注入问题

目录 问题描述 产生错误 问题原因 解决方法 手动注入方法 1、使用工具集 hutool,引入 Maven 依赖 2、编写 SpringUtil 工具类 问题描述 Controller 层方法为 static 静态,引入 Service 层时使用 Autowired 注解自动装配,Controller层方…

C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔

目录 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔 2.用DateTime.Add方法添加一段时间间隔 二、实例 1.实例1:用 DateAndTime.DateAdd方法 2.实例2:用DateTime.Add方法 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔…

Android发展历程及安装

目录 发展历程 下载网址 安装过程 发展历程 安卓基于Linux内核,Linux内核相当于房屋的地基 开源不等于免费,不能商用 安卓一般每半年小更新,一年大更新 对应API相当于别名 现在安卓安全性越来越高,性能越来越快&#xff0c…

2024年预制菜行业市场发展趋势分析(2021-2023年预制菜行业数据分析)

近期,老干妈被称为预制菜、预制菜国标报送稿出炉等事件再次引起大众对于预制菜市场的讨论。随着国家对预制菜审核标准的严格化,预制菜市场未来走向将会如何?鲸参谋带大家从数据角度来了解。 首先来看下预制菜市场的行业发展情况。 根据鲸参…

蓝桥杯备赛 week 4 —— DP 背包问题

目录 🌈前言🌈: 📁 01背包问题 分析: dp数组求解: 优化:滚动数组: 📁 完全背包问题 📁 总结 🌈前言🌈: 这篇文章主…

大数据就业方向-(工作)ETL开发

上一篇文章: 大数据 - 大数据入门第一篇 | 关于大数据你了解多少?-CSDN博客 目录 🐶1.ETL概念 🐶2. ETL的用处 🐶3.ETL实现方式 🐶4. ETL体系结构 🐶5. 什么是ETL技术? &…

MySQL JSON数据类型全解析(JSON datatype and functions)

JSON(JavaScript Object Notation)是一种常见的信息交换格式,其简单易读且非常适合程序处理。MySQL从5.7版本开始支持JSON数据类型,本文对MySQL中JSON数据类型的使用进行一个总结。 目录 一、MySQL中的JSON 1.1 JSON数据格式 1.2 …

spring-boot-starter-validation常用注解

文章目录 一、使用二、常用注解三、Valid or Validated ?四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解,首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo…