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

连续/离散的控制系统阶跃测试(包括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;

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

相关文章:

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

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

【六:pytest框架介绍】

常见的请求对象requests.get()requests.post()requests.delete()requests.put()requests.request()常见的响应对象reprequests.request()//返回字符串格式数据print(req.text)//返回字节格式数据print(req.content)//返回字典格式数据print(req.json)#状态码print(req.status_c…...

提升医院安全的关键利器——医院安全(不良)事件报告系统源码

医院是人们寻求医疗服务和康复的场所&#xff0c;安全是医院运营的基石。然而&#xff0c;医疗过程中不可避免地会出现不良事件&#xff0c;如药物错误、手术事故等。为了及时发现、评估和解决这些问题&#xff0c;医院安全&#xff08;不良&#xff09;事件报告系统应运而生。…...

【瑞吉外卖部分功能补充】

瑞吉外卖部分功能补充 菜品的启售和停售 在浏览器控制台点击对应功能后可以看到前端发送的请求是&#xff1a;http://localhost:9999/dish/status/1?ids1413342036832100354&#xff0c;请求方式为POST。 接收到前端参数后&#xff0c;进行controller层代码补全&#xff0c…...

react的setState做了什么

1、为什么需要setState setState的作用是帮助我们更改数据的同时并且通知视图进行渲染。因为React并不会绑定视图和state&#xff0c;需要我们手动去更新视图。 2、setState什么时候是同步的&#xff0c;什么时候是异步的 setState这个方法在调用的时候是同步的&#xff0c;…...

ubuntu18.04 RTX3060 rangnet++训练 bonnetal语义分割

代码链接&#xff1a; https://github.com/PRBonn/lidar-bonnetal 安装anaconda环境为 CUDA 11.0&#xff08;11.1也可以&#xff09; anaconda环境如下 numpy1.17.2 torchvision0.2.2 matplotlib2.2.3 tensorflow1.13.1 scipy0.19.1 pytorch1.7.1 vispy0.5.3 opencv_python…...

Linux:权限是什么

本篇文章来简单介绍一下Linux操作系统中权限的基本概念和一些操作方法&#xff0c;对Linux权限有一个基本的了解&#xff0c;希望对大家学习Linux有所帮助。 目录 1.权限的概念 2.Linux权限管理 2.1 文件访问者的分类 2.2 文件类型与访问权限&#xff08;事物属性&#xff…...

uni-app yrkDataPicker 日期和时间选择控件

uni-app 选择日期时间控件有 2 月份有 31 天的问题&#xff0c;一直没有修复&#xff0c;uni-calendar 苹果有选择年份和月份后无法显示问题。自己写了一个&#xff0c;只支持 H5 和微信小程序&#xff0c;其他没有试过。 <template><view class"yrk-data-picke…...

PAM从入门到精通(十九)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;十八&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 六、整体流程示例 2.…...

apache httpd 多后缀解析漏洞

形成原因 Apache HTTPD 支持一个文件拥有多个后缀&#xff0c;并为不同后缀执行不同的指令 在有多个后缀的情况下&#xff0c;只要一个文件含有.php后缀的文件即将被识别成PHP文件&#xff0c;没必要是最后一个后缀。利用这个特性&#xff0c;将会造成一个可以绕过上传白名单…...

Flutter ☞ 数据类型

数值类型 int、double、num int 整型&#xff0c;取值通常在 -253 ~ 253 之间 int class double 64-bt(双精度)浮点数&#xff0c;符合 IEEE 754 标准。 double class num 数值类型的基类&#xff0c;int 和 double 都继承自num。 num class 数值转换 // String -> …...

MyBatis-Plus 实战教程一

这里写目录标题 简介快速上手数据库建立创建实体类修改参数引入依赖测试常见注解介绍TableNameTableIdTableField 常见配置仓库地址 简介 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;…...

闭包(函数)

把内部函数通过return扔出去 必要条件...

Go包介绍与初始化:搞清Go程序的执行次序

Go包介绍与初始化&#xff1a;搞清Go程序的执行次序 文章目录 Go包介绍与初始化&#xff1a;搞清Go程序的执行次序一、main.main 函数&#xff1a;Go 应用的入口函数1.1 main.main 函数1.2 main.main 函数特点 二、包介绍2.1 包介绍与声明2.2 非 main包的 main 函数2.3 包的命名…...

Python教程(15)——Python流程控制语句详解

目录 if语句else if语句for循环遍历类型range关键字 while循环break语句continue语句 Python流程控制是Python编程中非常重要的一部分&#xff0c;它用于控制程序的执行流程。Python提供了多种流程控制语句&#xff0c;包括if语句、while循环、for循环、break和continue语句等。…...

JavaScript基础知识16——分支语句

哈喽&#xff0c;大家好&#xff0c;我是雷工。 今天学习JavaScript基础知识的分支语句&#xff0c;以下为学习笔记。 1、程序三大流程控制语句 ○写几句就从上往下执行几句&#xff0c;这种叫做顺序结构&#xff1b; ○有时要根据条件选择执行代码&#xff0c;这种叫分支结构…...

web开发初级工程师学习笔记

web开发初级工程师学习笔记 前端开发工具实验1 VS Code 初体验介绍 前端开发工具 实验1 VS Code 初体验 介绍 VS Code 环境提供的是一个可以在浏览器中使用原生 VS Code 编辑代码的程序。在该环境中&#xff0c;你可以使用到与本地安装近乎一致的 VS Code 程序来编辑代码文件…...

Linux下Samba服务安装及启用全攻略

Linux下Samba服务安装及启用全攻略 前言一、安装SSH Server二、安装Samba Server1.安装net-tool2.建立账号的samba3.windows通过Samba与linux共享文件4.使用远程工具登录Linux 总结 前言 提示&#xff1a;本文详解了在Linux系统下如何安装和启用Samba服务&#xff0c;涵盖了从…...

【C++】引用’‘的深入解析

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …...

java链式编程对象序列化问题

在使用 openfeign 进行服务之间数据传输时发现了一个问题&#xff0c;数据在下游正常处理&#xff0c;响应到调用端数据也读取到了&#xff0c;但是就是 jackson 转对象序列化时出了问题&#xff0c;异常如下 Failed to complete request: feign.codec.DecodeException: Type d…...

Spec研发平台实践,从Vibe Coding到范式编程,打造AI领域专家

在AI编程工具普及的今天&#xff0c;很多开发者都有过类似的经历&#xff1a;用AI生成的代码语法无误、逻辑清晰&#xff0c;却因为不懂项目规范、不熟悉业务领域而无法直接使用。为了解决这一痛点&#xff0c;我们探索出一条从“Vibe Coding”到“范式编程”的技术演进路径&am…...

保姆级教程:在Ubuntu 20.04上为RISC-V芯片编译运行CoreMark(含多线程配置)

RISC-V平台CoreMark性能测试全流程实战指南 在嵌入式开发领域&#xff0c;处理器性能评估始终是硬件选型和系统优化的关键环节。CoreMark作为当前最权威的嵌入式CPU基准测试工具&#xff0c;其测试结果已成为衡量RISC-V处理器性能的黄金标准。本文将完整演示如何在Ubuntu 20.04…...

GitHub中文界面插件:3步解锁你的中文GitHub工作台

GitHub中文界面插件&#xff1a;3步解锁你的中文GitHub工作台 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经在GitHub上搜…...

SITS2026圆桌争议焦点全解析,AGI是否会在2029年前通过图灵-2.0测试?——附5家头部实验室内部基准测试原始数据

第一章&#xff1a;SITS2026圆桌&#xff1a;AGI何时到来 2026奇点智能技术大会(https://ml-summit.org) 圆桌共识与分歧焦点 在SITS2026主会场举行的“AGI何时到来”圆桌论坛中&#xff0c;来自DeepMind、Anthropic、中科院自动化所及OpenAI前核心架构师的六位专家展开激烈交…...

深度学习篇---解释模型的“注意力”的热图

“热图”&#xff08;Heatmap&#xff09;这个名字很形象&#xff0c;它本质上是一种将数据值映射为颜色&#xff0c;并通过颜色深浅或色调变化来直观呈现数据分布、密度或强度的可视化工具。无论应用于哪个领域&#xff0c;其核心目的都是帮助我们快速识别数据中的模式、聚类、…...

10年老兵带你学Java(第0课):学前必知

Java是什么&#xff1f; Java是一门编程语言&#xff0c;1995年诞生&#xff0c;到现在30年了&#xff0c;依然是全球最流行的语言之一。 打个比方&#xff1a; C语言像手动挡汽车&#xff0c;性能强但难开Python像自动挡汽车&#xff0c;好开但不够快Java像卡车&#xff0c;能…...

从功能规范到系统设计:车身控制器BCM的工程实践指南

1. 车身控制器BCM的功能规范解析 第一次拿到《M516 BCM功能规范》这种文档时&#xff0c;我完全被里面密密麻麻的表格和术语搞懵了。后来才发现&#xff0c;这些看似枯燥的条款背后&#xff0c;其实藏着很多工程设计的智慧。比如文档里提到的"湿电流"概念&#xff0c…...

重磅!Anthropic Labs 正式推出 Claude Design!

&#x1f680; 重磅&#xff01;Anthropic Labs 正式推出 Claude Design&#xff01; Claude Design 官方介绍视频&#xff1a;https://live.csdn.net/v/522319 今天&#xff0c;Anthropic 带来全新神器——Claude Design&#xff0c;让你和 Claude 一起协作&#xff0c;轻松创…...

移动端AI编程已过临界点?SITS2026实测数据:开发人效↑310%,CR缺陷↓68%,但92%团队正踩这4个认知盲区!

第一章&#xff1a;SITS2026案例&#xff1a;AI移动端代码生成 2026奇点智能技术大会(https://ml-summit.org) SITS2026&#xff08;Smart Intelligence Technology Summit 2026&#xff09;首次在移动端部署轻量化AI代码生成引擎&#xff0c;支持开发者通过自然语言描述实时…...

OpenProject实战指南:三步构建企业级开源项目管理平台

OpenProject实战指南&#xff1a;三步构建企业级开源项目管理平台 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject 还在为团队协作效率低下而烦恼吗…...