matlab函数 状态空间系统ss、能控性矩阵ctrb、矩阵的秩rank、能控标准型canon、零极点配置place、系统极点pole等函数(线性定常系统)

matlab函数 能控性矩阵ctrb、能控标准型canon、零极点配置place

第一章,线性定常系统

ss

如果已知线性定常系统的ABCD四个矩阵,可以得到状态空间系统

其他更具体的用法请直接看帮助文档。

用法:ss(A,B,C,D)

假如

在这里插入图片描述

可以输入

A = [-1.5,-2;1,0];
B = [0.5;0];
C = [0,1];
D = 0;
sys = ss(A,B,C,D)

最后得到

在这里插入图片描述

ctrb和rank

判断系统是否能控,可以用能控性矩阵是否奇异进行判断。ctrb函数用来生成能控性矩阵,rank用来判断矩阵的秩

对于线性定常系统
x ˙ = A x + B u \dot{x}=Ax+Bu x˙=Ax+Bu

如果能控性矩阵
C O = [ B A B A 2 B ⋯ A n − 1 B ] CO=[B\ \ AB\ \ A^2B\ \ \cdots\ \ A^{n-1}B] CO=[B  AB  A2B    An1B]
的行秩=n,则意味着该系统完全能控(为什么是行秩呢,因为对于MIMO系统能控性矩阵不一定是方阵)

在matlab中,可以用ctrb(A,B)直接得到能控性矩阵

比如,我事先输入矩阵A和B

在这里插入图片描述

再输入函数

ctrb(A,B)

就会得到能控性矩阵

在这里插入图片描述

也可以直接用上一个函数ss生成的状态空间系统(和上个例子所用数据不同)

A = [-1.5,-2;1,0];
B = [0.5;0];
C = [0,1];
D = 0;
sys = ss(A,B,C,D)
Co=ctrb(sys)

在这里插入图片描述

最后用rank(Co)计算一下能控性矩阵的秩。

比如对于这个能控性矩阵,其行秩为1,显然系统不能控

在这里插入图片描述

canon

要会这个函数,首先去看一下本篇第一个函数ss

状态空间方程化为高阶微分方程的实现方法是非唯一的,我们就提出了标准型便于我们研究和交流。

标准型有很多种。matlab中的标准型是第一能控标准型

在这里插入图片描述

用法canon(sys,‘companion’)

比如对于这个系统
在这里插入图片描述

把ABCD全都输进去,然后

sys=ss(A,B,C,D)

得到
在这里插入图片描述

再输入canon

canon(sys,'companion')

得到
在这里插入图片描述

place或acker

设计全状态反馈控制律中,我们把配置闭环系统极点的过程称之为极点配置。可以用place函数(acker函数可以实现)

  • 先在matlab中输入矩阵A和B
  • 再输入想要的极点 P = [ 第一个  第二个  第三个 … ] P=[第一个\ \ 第二个\ \ 第三个\dots] P=[第一个  第二个  第三个]
  • 最后
acker[A,B,P] //或者用place[A,B,P]也可以,计算精度不同
  • 输出的结果就是反馈矩阵K或说R

例子:

A = [-1,-2;1,0];
B = [2;0];
p = [-1,-2];
K = place(A,B,p);

得到

在这里插入图片描述

pole

计算系统极点。也要看本章第一个函数ss

A = [-1,-2;1,0];
B = [2;0];
C = [0,1];
D = 0;
sys = ss(A,B,C,D);
pole(sys)

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

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

相关文章

Vue——vue3中的ref和reactive数据理解以及父子组件之间props传递的数据

ref()函数 这是一个用来接受一个内部值,返回一个响应式的、可更改的 ref 对象,此对象只有一个指向其内部值的属性 .value。 作用:创建一个响应式变量,使得某个变量在发生改变时可以同步发生在页面上。 模板语句中使用这个变量时…

模拟实现list

目录 list的实现结构节点的实现迭代器的实现第一个模板参数T第二个模板参数Ref第三个模板参数Ptr 实现list中的接口函数插入和删除赋值重载和拷贝构造析构函数 总结 list的实现结构 STL库中的list的结构是双向循环链表,所以我们这里也实现一个双向循环链表 我们这…

万里路,咫尺间:汽车与芯片的智能之遇

目前阶段,汽车产业有两个最闪耀的关键词,就是智能与低碳。 在践行双碳目标与产业智能化的大背景下,汽车已经成为了能源技术、交通技术、先进制造以及通信、数字化、智能化技术的融合体。汽车的产品形态与产业生态都在发生着前所未有的巨大变革…

Python 快速输出接下来几个月的月末日期

# pip install arrow 安装库(若已安装 可忽略) import arrowEnd_of_month_date [] # 月末日期 for i in range(100):if arrow.now().shift(daysi).format(YYYY-MM-DD)[-2:] 01: # 若日期为 1 号 则返回前一天的日期End_of_month_date.append(arrow.now…

MySQL——MySQL的基础操作部分

使用命令行登录 mysql -u root -p 直接敲击回车后输入密码即可: 当看到出现“mysql>“的符号之后,就表示已经进入到了MySQL系统中,就可以输入My&#xf…

Java中的网络编程------基于Socket的TCP编程和基于UDP的网络编程,netstat指令

Socket 在Java中,Socket是一种用于网络通信的编程接口,它允许不同计算机之间的程序进行数据交换和通信。Socket使得网络应用程序能够通过TCP或UDP协议在不同主机之间建立连接、发送数据和接收数据。以下是Socket的基本介绍: Socket类型&…

将本地jar打包到本地maven仓库或maven私服仓库中

将本地jar包打包到本地的maven仓库中的命令&#xff1a; mvn install:install-file -DgroupIdtebie.applib.api -DartifactIdapiclient -Dversion1.0-SNAPSHOT -Dfile本地jar路径 -Dpackagingjar说明&#xff1a; DgroupId pom中的<groupId></groupId> Dartifact…

用半天时间从零开始复习前端之html

目录 前言 科班生的标配&#xff1a;半天听完一门标记型语言 准备工作 webstorm2022 webstrom 第一个html页面 body h系列标签 行标签和块标签 列表标签 表格标签&#xff08;另起一篇&#xff09; 万能的input 1.快速生成多个标签 2.同时选中多个 前言 科班生的标…

GIT实战篇,教你如何使用GIT可视化工具

系列文章目录 手把手教你安装Git&#xff0c;萌新迈向专业的必备一步 GIT命令只会抄却不理解&#xff1f;看完原理才能事半功倍&#xff01; 快速上手GIT命令&#xff0c;现学也能登堂入室 GIT实战篇&#xff0c;教你如何使用GIT可视化工具 系列文章目录一、GIT有哪些常用工具…

工服穿戴检测联动门禁开关算法

工服穿戴检测联动门禁开关算法通过yolov8深度学习框架模型&#xff0c;工服穿戴检测联动门禁开关算法能够准确识别和检测作业人员是否按照规定进行工服着装&#xff0c;只有当人员合规着装时&#xff0c;算法会发送开关量信号给门禁设备&#xff0c;使门禁自动打开。YOLO的结构…

什么是Web组件(Web Components)?它们有哪些主要特点?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Web 组件&#xff08;Web Components&#xff09;⭐ Web 组件的主要特点1. 自定义元素&#xff08;Custom Elements&#xff09;2. Shadow DOM3. HTML 模板4. 封装性和重用性5. 生态系统6. 跨框架兼容性 ⭐ 写在最后 ⭐ 专栏简介 前端入门…

SpringBoot整合MQ

1.创建工程并引入依赖 <!-- 添加rocketmq的启动器--><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.1.1</version></dependency>2.编写…