连续/离散的控制系统阶跃测试(包括MATLAB里的step()函数)

阶跃测试

只要是连续时间系统,无论是传递函数还是连续状态空间形式的模型,直接可以用**step()**做阶跃测试;但是对于离散系统而言,不能用step()函数,可以自行编写代码,如下。

1、离散系统:x(k+1)=Ax(k)+Bu(k)

在这里插入图片描述
离散系统阶跃响应不能用step()函数,可以自行编写

close all;
clear all;
A=[1.1 2;0 0.95];B=[0;0.079];total = 100;
x = zeros(2,total+1);
u = zeros(1,total);
u(1) = 1;
t = zeros(1,total);for i=1:totalt(i) = i-1;x(:,i+1) = A*x(:,i) + B*u(:,i);
endfigure(1);
subplot(3,1,1);
plot(t,x(1,1:total));
ylabel('x1')
hold on;
grid on;subplot(3,1,2);
plot(t,x(2,1:total));
ylabel('x2')
hold on;
grid on;subplot(3,1,3);
plot(t,u(1:total));
ylabel('u')
hold on;
grid on;

在这里插入图片描述
可见系统自身不稳定,因为离散系统的特征值有在单位圆外,如下
在这里插入图片描述

2、连续系统:x’=Ax+Bu或y=G(s)u

一个是连续状态空间模型,一个是传递函数模型

2.1 传递函数形式:

在这里插入图片描述
MATLAB里写成传函形式,并做阶跃测试**step()**函数
在这里插入图片描述
在这里插入图片描述

2.2 化成连续状态空间形式

在这里插入图片描述
再做阶跃
在这里插入图片描述
不管是传函,还是连续状态空间,step()测试结果相同,说明系统稳定,因为状态矩阵特征值都<0;

eig(A)

ans =

-5.4178 + 0.0000i
-0.2911 + 1.3270i
-0.2911 - 1.3270i

2.3 连续状态空间形式化成离散状态空间形式

(1)对传递函数进行离散
在这里插入图片描述
得到的是离散时间传递函数,z变换
(2)对连续状态空间模型进行离散
在这里插入图片描述
得到的是离散状态空间模型
(3)对离散状态空间模型做阶跃测试
离散系统阶跃响应不能用step()函数,可以自行编写,就是本文第1节,下面继续写一遍:

A = [0.5307 -0.2069 -0.1864;0.1491 0.978 -0.02058;0.01647 0.1985  0.9986];B = [0.1491;0.01647;0.001152];C = [0 2.5 1.25];%得到的离散状态空间模型total = 100;
x = zeros(3,total+1);
u = zeros(1,total);
u(1) = 1;
y = zeros(1,total);
t = zeros(1,total);for i=1:totalt(i) = i-1;x(:,i+1) = A*x(:,i) + B*u(:,i);y(:,i+1) = C*x(:,i+1);
endfigure(1);
subplot(3,1,1);
plot(t,x(1,1:total));
ylabel('x1')
hold on;
grid on;subplot(3,1,2);
plot(t,x(2,1:total));
ylabel('x2')
hold on;
grid on;subplot(3,1,3);
plot(t,x(3,1:total));
ylabel('x3')
hold on;
grid on;figure(2)
subplot(2,1,1);
plot(t,u(1:total));
ylabel('u')
hold on;
grid on;subplot(2,1,2);
plot(t,y(1:total));
ylabel('y')
hold on;
grid on;

图形如下:
在这里插入图片描述
在这里插入图片描述
化成离散系统后,仍然稳定。

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

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

相关文章

leetcode_260. 只出现一次的数字 III

题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 解法一&#xff1a;哈希表 typedef struct {int key;UT_hash_handle hh; } HASH_MAP_S;HASH_MAP_S *usrs NULL;int* singleNumber(int* nums, int numsSize, int* returnSize) …

Selenium:Web自动化框架

Selenium自动化入门 1、Selenium概述2、Selenium环境搭建3、Selenium基本操作4、网页元素定位5、操作Cookie6、标签页管理 1、Selenium概述 Selenium&#xff08;Web Browser Automation&#xff09;的初衷是Web应用自动化测试。Selenium广泛应用于爬虫&#xff0c;爬虫需要让浏…

短视频矩阵系统源码---开发

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; 7大模型剪辑法&#xff08;数学阶乘&#x…

idea 里 没有svn选项的处理办法

总结一下没有svn选项的几种情况&#xff1a; 情况1&#xff1a;IntelliJ IDEA打开带SVN信息的项目不显示SVN信息&#xff0c;项目右键SVN以及图标还有Changes都不显示解决方法 在VCS菜单中有个开关&#xff0c;叫Enabled Version Control Integration&#xff0c;在打开的窗口…

13JVM进阶

JVM内存模型 1、线程私有的数据区 1)、程序计数器 我们知道&#xff0c;线程是CPU调度的基本单位。在多线程情况下&#xff0c;当线程数超过CPU数量或CPU内核数量时&#xff0c;线程之间就要根据 时间片轮询抢夺CPU时间资源。也就是说&#xff0c;在任何一个确定的时刻&#…

掌握 Go 的计时器

简介 定时器是任何编程语言的重要工具&#xff0c;它允许开发人员在特定时间间隔安排任务或执行代码。在 Go 中&#xff0c;定时器是通过 time 包实现的&#xff0c;该包提供了一系列功能来创建、启动、停止和有效处理定时器。我们将探索 Go 中定时器的强大功能&#xff0c;并…

axios发送常见请求方式以及拦截器的封装

一&#xff0c;常见请求 //1.get--传递paramsaxios.get("/test",{params:{}})//2.post--传递paramsaxios.post("/test",{},{params:{}}) //3.post--传递bodyaxios.post("/test",{name:""}) 二&#xff0c;封装请求拦截器 import ax…

[AutoSAR系列] 1.2 AutoSar 综述

AutoSAR是一种汽车工业领域的标准化软件架构,旨在简化不同汽车制造商之间的软件开发和交互。该标准于2003年由一系列欧洲汽车制造商成立的AutoSAR联盟制定并发布,目前已经成为全球范围内的标准。下面将对AutoSAR的概念、架构和实现进行综述。 1. 概述 AutoSAR是汽车电子控制…

全球3小时气象数据集GLDAS Noah Land Surface Model L4 3 hourly 0.25 x 0.25 degree V2.1

简介 全球3小时气象数据集&#xff08;GLDAS Noah Land Surface Model L4 3 hourly 0.25 x 0.25 degree V2.1&#xff0c;简称GLDAS_NOAH025_3H 2.1&#xff09;&#xff0c;时空分辨率分别为3小时、0.25度。该数据产品于2020年1月重新处理&#xff0c;代替之前版本。前言 – …

npm ERR! exited with error code: 128

1.遇到的问题 报错信息&#xff1a;npm ERR! E:\tools\Gitt\Git\cmd\git.EXE ls-remote -h -t https://github.com/nhn/raphael.git npm ERR! npm ERR! fatal: unable to access https://github.com/nhn/raphael.git/: OpenSSL SSL_read: Connection was reset, errno 10054 …

Python-嗨格式 之音频转换,ncm转mp3

缘由&#xff1a;本想下载一些歌到车机播放&#xff0c;发现大部分是ncm格式的。 查了下才知道是音乐软件限制了&#xff0c;会员下载的音频文件为.ncm格式&#xff0c;目前只能在网易云音乐APP上播放&#xff0c;不支持在其他音频播放软件或音频设备使用。 百度转换软件&…

vscode使用CSScomb插件

1. 安装 在设置中搜索csscomb&#xff0c;把Csscomb: Format On Save勾上 然后去edit in settings.json配置 2.使用 2.1 用官网提供的三种方法 https://github.com/csscomb/csscomb.js/tree/master/config 2.2 自定义 CSS 书写顺序规则可以参考这个荐腾讯 AollyTeam 团队的…

【六:(mock数据)spring boot+mybatis+yml】

目录 1.1、代码编写Demo类User类启动类 APplication 1.2、配置类查询语句的配置 mysql.ymlspringboot的配置 application.yml日志的配置 logback.xml数据库的配置 mybatis-config.xml 1.3、测试&#xff1a;1.3.1、测试获取用户数1.3.2、添加用户1.3.3、数据的更新1.3.4、数据的…

阿里云今年有双十一活动吗?不好说

阿里云今年有双十一活动吗&#xff1f;不好说&#xff0c;因为去年就没有。阿里云双11优惠活动是一项大型的促销活动&#xff0c;每年都有&#xff0c;但是去年没有双十一活动&#xff0c;不知道今年2023年阿里云是否有双11优惠活动。但是阿里云百科aliyunbaike.com猜想&#x…

uni-app:js二维数组与对象数组之间的转换

一、二维数组整理成对象数组 效果 [ ["前绿箭","DI10","RO1"], ["前红叉","DI2","RO2"], ["后绿箭","DI12","RO3"], ["后红叉","DI4","RO6"] ] …

ES6 Generator 函数

Generator 函数是 ES6 提供的一种异步编程解决方案&#xff0c;语法行为与传统函数完全不同。 形式上&#xff0c;Generator 函数是一个普通函数&#xff0c;但是有两个特征。一是&#xff0c;function关键字与函数名之间有一个星号&#xff1b;二是&#xff0c;函数体内部使用…

STM32基于HAL库RT-Thread Demo测试

STM32基于HAL库RT-Thread Demo测试 &#x1f388;源码地址&#xff1a;https://github.com/RT-Thread/rt-thread/tree/master&#x1f4cc;基于STM32CUBEMX中间件安装《基于 CubeMX 移植 RT-Thread Nano》&#x1f4cd;环境搭建《使用 Env 创建 RT-Thread 项目工程》&#x1f5…

操作系统知识点学习

操作系统 一、什么是操作系统&#xff1f;请简要概述一下 操作系统是管理计算机硬件和软件资源的计算机程序&#xff0c;提供一个计算机用户与计算机硬件系统之间的接口。向上对用户程序提供接口&#xff0c;向下接管硬件资源。操作系统本质上也是一个软件&#xff0c;作为最接…

ChessGPT:免费好用的国际象棋对弈AI机器人

对于国际象棋初学者&#xff0c;需要找一个对手来练棋。ChessGPT&#xff0c;就是一个免费好用的AI对弈机器人&#xff0c;非常适合新手来提升&#xff0c;是一个很好的练习伙伴。网站地址是&#xff1a;https://www.chess.com/play/computer&#xff0c;也有手机版app&#xf…

【RocketMQ系列五】消息示例-顺序消息延迟消息广播消息的实现

1. 前言 上一篇文章我们介绍了简单消息的实现&#xff0c;本文将主要来介绍顺序消息的实现&#xff0c;顺序消息分为局部顺序消息和全局顺序消息。 顺序消息指的是消费者在消费消息时&#xff0c;按照生产者发送消息的顺序进行消费。即先发送的先消费【FIFO】。 顺序消息分为…