当前位置: 首页 > news >正文

【matlab学习】现代控制

文章目录

  • (1) SISO Modeling
  • (2) MIMO Modeling
  • (3) 状态空间模型
  • (4) 状态空间模型->传递函数
  • (5) 传递函数->状态空间模型
  • (6) 状态空间模型变换
  • (7) 特征值和特征向量
  • (8) 广义特征向量
  • (9) 状态空间模型->约旦型

(1) SISO Modeling

y ( k + 2 ) + 5 y ( k + 1 ) + 6 y ( k ) = u ( k + 2 ) + 2 u ( k + 1 ) + u ( k ) y(k+2)+5y(k+1)+6y(k)=u(k+2)+2u(k+1)+u(k) y(k+2)+5y(k+1)+6y(k)=u(k+2)+2u(k+1)+u(k)

num_1=[1 2 1];
den_1=[1 5 6];
sys_1=tf(num_1,den_1,-1)

(2) MIMO Modeling

G ( s ) = [ s 2 + 2 s + 1 s 2 + 5 s + 6 s + 5 s + 2 2 s + 3 s 3 + 6 s 2 + 11 s + 6 6 2 s + 7 ] G(s)=\left[\begin{array}{cc}\frac{s^2+2s+1}{s^2+5s+6} & \frac{s+5}{s+2}\\ \frac{2s+3}{s^3+6s^2+11s+6} & \frac{6}{2s+7}\end{array}\right] G(s)=[s2+5s+6s2+2s+1s3+6s2+11s+62s+3s+2s+52s+76]

num={[1 2 1] [1 5]; [2 3] [6]};
den={[1 5 6] [1 2]; [1 6 11 6] [2 7]};
sys_1=tf(num,den) 

(3) 状态空间模型

x ˙ = [ 0 1 − 2 − 3 ] x + [ 0 1 ] u y = [ 1 0 ] x \begin{array}{l}\dot{x}=\left[\begin{array}{cc}0&1\\-2&-3\end{array}\right]x+\left[\begin{array}{c}0\\1\end{array}\right]u \\ y=\left[\begin{array}{c}1&0\end{array}\right]x\end{array} x˙=[0213]x+[01]uy=[10]x

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

(4) 状态空间模型->传递函数

x ˙ = [ 0 1 − 2 − 3 ] x + [ 0 1 ] u y = [ 1 0 ] x \begin{array}{l}\dot{x}=\left[\begin{array}{cc}0&1\\-2&-3\end{array}\right]x+\left[\begin{array}{c}0\\1\end{array}\right]u \\ y=\left[\begin{array}{c}1&0\end{array}\right]x\end{array} x˙=[0213]x+[01]uy=[10]x

sys_tf=tf(sys)

(5) 传递函数->状态空间模型

  • 转换函数ss()
sys_1_ss=ss(sys_1)
  • 规范形转换函数canon()
sys_can_ss=canon(sys_1,'modal')
  • 常微分方程(传递函数)转换为状态空间模型函数dif2ss()
    y ′ ′ ′ + 5 y ′ ′ + 8 y ′ + 4 y = 2 u ′ ′ + 14 u ′ + 24 u y^{'''}+5y^{''}+8y^{'}+4y=2u^{''}+14u^{'}+24u y′′′+5y′′+8y+4y=2u′′+14u+24u
num_1=[2 14 24];  den_1=[1 5 8 4];
sys_1=tf(num_1,den_1);% 建立传递函数模型
sys_comp=dif2ss(sys_1,'companion')% 求传递函数的友矩阵形状态空间模型
sys_jord=dif2ss(num_1,den_1,'jordan')% 求传递函数的约旦规范形状态空间模型

(6) 状态空间模型变换

{ x ˙ = [ 0 1 0 0 0 1 − 6 − 11 − 6 ] x + [ 0 0 6 ] u y = [ 1 0 0 ] x \left\{\begin{array}{l}\dot{x}=\left[\begin{array}{ccc}0 & 1 & 0\\0 & 0 & 1\\ -6 & -11 & -6\end{array}\right]x+\left[\begin{array}{c}0 \\ 0 \\ 6\end{array}\right]u \\ y=\left[\begin{array}{ccc}1& 0&0\end{array}\right]x\end{array}\right. x˙= 0061011016 x+ 006 uy=[100]x

P = [ 1 1 1 − 1 − 2 − 3 1 4 9 ] P=\left[\begin{array}{ccc}1&1&1\\-1&-2&-3\\1&4&9\end{array}\right] P= 111124139

A=[0 1 0; 0 0 1; -6 -11 -6];
B=[0; 0; 6];  C=[1 0 0];  D=0;
P=[1 1 1; -1 -2 -3; 1 4 9];
sys_in=ss(A,B,C,D);
sys_out=ss2ss(sys_in,inv(P)) 

(7) 特征值和特征向量

d = eig(A)%只计算所有特征值
[V,D] = eig(A)%同时得到所有特征向量和特征值

(8) 广义特征向量

J = jordan(A)%只计算A矩阵对应的约旦矩阵J
[V,J] = jordan(A)%所有广义特征向量和约旦矩阵J

(9) 状态空间模型->约旦型

x ˙ = [ 0 1 0 0 0 1 − 4 − 8 − 5 ] x + [ 0 0 1 ] u \dot{x}=\left[\begin{array}{ccc}0 & 1&0\\0&0&1\\-4&-8&-5\end{array}\right]x+\left[\begin{array}{c}0\\0\\1\end{array}\right]u x˙= 004108015 x+ 001 u
y = [ 1 0 0 ] x y=\left[\begin{array}{ccc}1&0&0\end{array}\right]x y=[100]x

A=[0 1 0; 0 0 1; -4 -8 -5];
B=[0; 0; 1];  C=[1 0 0];  D=0;
sys_in=ss(A,B,C,D);
[P,J]=jordan(A);
sys_out=ss2ss(sys_in,inv(P))

相关文章:

【matlab学习】现代控制

文章目录 (1) SISO Modeling(2) MIMO Modeling(3) 状态空间模型(4) 状态空间模型->传递函数(5) 传递函数->状态空间模型(6) 状态空间模型变换(7) 特征值和特征向量(8) 广义特征向量(9) 状态空间模型->约旦型 (1) SISO Modeling y ( k 2 ) 5 y ( k 1 ) 6 y ( k ) …...

Debezium报错处理系列之九十九:ConnectException: Source offset ‘file‘ parameter is missing

Debezium报错处理系列之九十九:ConnectException: Source offset file parameter is missing 一、完整报错二、错误原因三、解决方法研究Debezium技术遇到的各种错误解决方法系列文章传送门: Debezium从入门到精通系列之:百篇系列文章汇总之研究Debezium技术遇到的各种错误的…...

基于深度学习的活体人脸识别检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1. 活体人脸识别检测算法概述 4.2. 深度学习在活体人脸识别检测中的应用 4.3. 算法流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 …...

Angular 由一个bug说起之二:trackBy的一点注意事项

trackBy是angualr优化项目性能的一种方法, 通过返回一个具有绑定性的唯一值, 比如id,手机号,身份证号之类的,来让angular能够跟踪数组的项目,根据数据的变化来重新生成DOM, 这样就节约了性能。 但是如果是使用ngFor循环组件&…...

单片机FLASH下载算法的制作

环境 硬件使用正点原子STM32F407探索者V2开发板 编程环境使用MDK 下载工具使用JLINK FLASH芯片使用W25Q128 什么是下载算法 单片机FLASH的下载算法是一个FLM文件,FLM通过编译链接得到,其内部包含一系列对FLASH的操作,包括初始化、擦除、写…...

[nlp] 损失缩放(Loss Scaling)loss sacle

在深度学习中,由于浮点数的精度限制,当模型参数非常大时,会出现数值溢出的问题,这可能会导致模型训练不稳定。为了解决这个问题,损失缩放(Loss Scaling)技术被引入,它通过缩放损失值来解决这个问题。 在深度学习中,损失缩放技术通常是通过将梯度进行缩放来实现的。具…...

Django框架之视图层

【一】三板斧 【1】HttpResponse 返回字符串类型 【2】render 返回html页面,并且在返回给浏览器之前还可以给html页面传值 【3】redirect 重定向页面 在视图文件中写视图函数的时候不能没有返回值了,默认返回的是None,页面上就会报错 d…...

商城免费搭建之java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...

AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…...

CANoe-Logging模块如何抓取总线数据

在CANoe测量期间(CANoe运行时),总线数据经由Measurement Setup界面的各分析模块的输入口流入Trace、Graphics、Data等窗口中,或统计、或显示、或分析。总线数据除了能流入分析窗口中做解析外,还可以保存到log文件中,留作其他人分析或复现的文件。 在Measurement Setup界…...

Unity中Shader的矩阵加减法

文章目录 前言一、什么是矩阵矩阵就是一组数的阵列 二、矩阵的加法三、矩阵的负值四、矩阵的减法五、矩阵的表示 前言 Unity中Shader用到的矩阵加减法,以及矩阵的一些基础常识 一、什么是矩阵 矩阵就是一组数的阵列 1 2 3 4 5 6 二、矩阵的加法 两个矩阵相加就是…...

IIC总线概述和通信时序代码详细图文解析

IIC总线 1 IIC总线概述 I2C总线两线制包括:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。总线必须由主机(通常为微控制器)控制,主机产生串行时钟(SCL&#x…...

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议,开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目,IgH 相对更普及一些,但是它是基于Linux 内核的方式,比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序,控制EtherCAT 伺服电机驱…...

如何基于OpenCV和Sklearn算法库开展机器学习算法研究

大家在做机器学习或深度学习研究过程中,不可避免都会涉及到对各种算法的研究使用,目前比较有名的机器学习算法库主要有OpenCV和Scikit-learn(简称Sklearn),二者都支持各种机器学习算法,主要有监督学习、无监…...

在 Node.js 中发出 HTTP 请求的 5 种方法

在 Node.js 中发出 HTTP 请求的 5 种方法 学习如何在 Node.js 中发出 HTTP 请求可能会让人感到不知所措,因为有数十个可用的库,每个解决方案都声称比上一个更高效。一些库提供跨平台支持,而另一些库则关注捆绑包大小或开发人员体验。 在这篇…...

pipeline agent分布式构建

开启 agent rootjenkins:~/learning-jenkins-cicd/07-jenkins-agents# docker-compose -f docker-compose-inbound-agent.yml up -d Jenkins配置添加 pipeline { agent { label docker-jnlp-agent }parameters {booleanParam(name:pushImage, defaultValue: true, descript…...

MySQL(17):触发器

概述 MySQL从 5.0.2 版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。 触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。 所谓事件就是指用户的动作或者触发某项行为。 如果定义了触…...

挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?

1.问题 今天在上班途中,中心的妹纸突然找我,非常温柔的找我帮忙看个数据库的报错。当然以我的性格,妹子找我的事情对我来说优先级肯定是最高的,所以立马放下手中的“小事”,转身向妹子走去。具体是一个什么样的问题呢…...

多种方法实现conda环境迁移

Conda 为包管理器和虚拟环境管理器。在配置完项目环境,进行了编写和测试代码,需要大量数据测试运行时,需要将其移至另一台主机上。Conda 提供了多种保存和移动环境的方法。 方法1: scp拷贝法,直接将envs的环境文件夹…...

C++ string类(一)

1.C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符 OOP(Object Oriented Programming)的思想,而且…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

uniapp中使用aixos 报错

问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式(偏导…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...