matlab学习006-使用matlab绘出系统的冲激响应和阶跃响应波形并求其冲激响应的数值解

目录

题目

1,绘出系统的冲激响应和阶跃响应波形

1)基础

2)效果

3)代码

2,求出t=0.5s,1s,1.5s,2s时系统冲激响应的数值解。

 1)基础

2)效果

​☀

3)代码


题目

已知描述某连续系统的微分方程为:y’’(t)+5y’(t)+6y(t)=3f’(t)+2f(t)


1,绘出系统的冲激响应和阶跃响应波形

1)基础

  • 冲激响应是在输入为单位冲激信号时的系统输出。
  • 阶跃响应是在输入为单位阶跃信号时的系统输出。
  • 传递函数 :​零初始条件下线性系统响应量(即输出y(t))的拉普拉斯变换Y(s)(或z变换)Y(z)与激励量(即输入x(t))的拉普拉斯变换X(s)之比。记作G(s)=Y(s)/X(s),传递函数是描述线性系统动态特性的基本数学工具之一。
  • MATLAB中的impulse函数可以得到冲激响应的时间序列数据

为了绘制连续系统的冲激响应和阶跃响应波形,需要先确定系统的传递函数。对于给定的微分方程y''(t) + 5y'(t) + 6y(t) = 3f'(t) + 2f(t)可以转化为传递函数的形式:

  1. 首先,对输入f(t)和输出y(t)进行拉普拉斯变换→F(s)和Y(s)。
  2. 将微风方程转换为:s^2Y(s) + 5sY(s) + 6Y(s) = 3sF(s) + 2*F(s)。
  3. 之后整理得:Y(s) = (3sF(s) + 2F(s)) / (s^2 + 5s + 6)。
  4. 然后,对分子和分母进行因式分解。
  5. 最后利用部分分式展开的方法得到系统的传递函数。(在MATLAB中,tf函数可以直接用来创建传递函数。)

impulse函数: 

 step函数:


 

2)效果

3)代码

% 定义系统的传递函数  
fenzi = [3 2]; % 分子多项式系数  
fenmu = [1 5 6]; % 分母多项式系数  
sys = tf(fenzi, fenmu); % 创建传递函数对象  % 计算冲激响应  
[ y_impulse,t_impulse] = impulse(sys);  %时间向量t_impulse和响应向量y_impulse% 绘制冲激响应波形  
figure;  
subplot(2,1,1);
plot(t_impulse, y_impulse);  
title('冲激响应波形');  
xlabel('时间 (t)');  
ylabel('响应 (y)');  
grid on;  % 计算阶跃响应  
[ y_step,t_step] = step(sys);  % 绘制阶跃响应波形 
subplot(2,1,2);
plot(t_step, y_step);  
title('阶跃响应波形');  
xlabel('时间 (t)');  
ylabel('响应 (y)');  
grid on;

2,求出t=0.5s,1s,1.5s,2s时系统冲激响应的数值解。

 1)基础

可以使用插值或者查找的方法来获取特定时间点的冲激响应值。由于impulse函数返回的时间向量和响应向量通常是等间隔的,我们可以直接通过索引来查找对应时间点的值。

步骤:

  1. 首先定义想要查询的时间点t_query,并使用interp1函数和'nearest'选项来查找这些时间点对应的最近冲激响应值。

注意点:

  1. 如果t_impulse的时间间隔不够小,使用'nearest'选项可能会导致一些误差。
  2. 在这种情况下,可能需要使用更精确的插值方法,如'linear''spline'
  3. 对于大多数控制系统分析,如果t_impulse的时间向量足够密集,'nearest'选项通常就足够了。

  interp1函数:(interp字母后面带着的是数字1)

 num2str函数:

 

2)效果

 

 

3)代码

 

% 定义系统的传递函数  
fenzi = [3 2]; % 分子多项式系数  
fenmu = [1 5 6]; % 分母多项式系数  
sys = tf(fenzi, fenmu); % 创建传递函数对象  
% 计算冲激响应  
[ y_impulse,t_impulse] = impulse(sys);  %响应向量y_impulse和时间向量t_impulse% 定义想要查询的时间点
t_query = [0.5 1 1.5 2];
% 查找对应时间点的冲激响应值
% 由于t_impulse和y_impulse是等间隔的,可以使用插值或者查找最近点的方法
% 这里假设t_impulse的间隔足够小,可以直接查找最近点
y_query = interp1(t_impulse, y_impulse, t_query, 'nearest');% 显示结果
disp(['在 t = 0.5s, 1s, 1.5s, 2s 时的冲激响应分别为: ' num2str(y_query)]);

有问题请在评论区留言,1天8h在线。 

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

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

相关文章

《苍穹外卖》Day07部分知识点记录

一、菜品缓存 减少查询数据库的次数,优化性能 客户端: package com.sky.controller.user;import com.sky.constant.StatusConstant; import com.sky.entity.Dish; import com.sky.result.Result; import com.sky.service.DishService; import com.sky…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞,或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

苏州相融大厦安装部署火眼视频图像早期火灾报警系统

2024年3月,苏州高铁数金公司、火眼消防技术有限公司与招商积余物业联合在相融大厦进行了火眼视频图像早期火灾报警系统的部署和测试工作,测试效果良好。体现招商积余对持续推进消防安全工作的高度重视。 相融大厦是火眼消防总部注册和苏州研发中心所在地…

OpenCV直方图计算

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV实现直方图均衡 下一篇 :OpenCV系列文章目录(持续更新中......) 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::split 将图像划分…

网络安全实训Day24(End)

写在前面 并没有完整上完四个星期,老师已经趁着清明节假期的东风跑掉了。可以很明显地看出这次持续了“四个星期”实训的知识体系并不完整,内容也只能算是一次基础的“复习”。更多的内容还是靠自己继续自学吧。 网络空间安全实训-渗透测试 文件包含攻击…

用 C 语言进行大模型推理:探索 llama2.c 仓库(一)

文章目录 前提有关huggingface社区chinese-baby-llama2llama2.cexport.py读取模型信息重建模型对重建出的模型初始化权重导出run.c要求的.bin文件 tokenizer.py 一些思考参考链接 前提 最近发现了一个只用c语言就可以推理大模型的仓库llama2.c,作者是openAI的员工。…

把私有数据接入 LLMs:应用程序轻松集成 | 开源日报 No.236

run-llama/llama_index Stars: 29.9k License: MIT llama_index 是用于 LLM 应用程序的数据框架。 该项目解决了如何最佳地利用私有数据增强 LLMs,并提供以下工具: 提供数据连接器,以摄取现有的数据源和各种格式(API、PDF、文档…

vite加密打包插件(vite-plugin-javascript-obfuscator)选项(option)详解

本文主要介绍vite加密打包插件(vite-plugin-javascript-obfuscator)选项(option)。 目录 一、选项(option)1. compact2. config3. controlFlowFlattening4. controlFlowFlatteningThreshold5. deadCodeInjection6. deadCodeInjectionThreshold7. debugProtection8.debugProtect…

【每日刷题】Day23

【每日刷题】Day23 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 138. 随机链表的复制 - 力扣(LeetCode) 2. 链表的回文结构_牛客题霸_牛客网 …

MySQL从入门到高级 --- 2.DDL基本操作

文章目录 第二章:2.基本操作 - DDL2.1 数据库的常用操作创建数据库选择要操作的数据库删除数据库修改数据库编码 2.2 表结构的常用操作创建表格式查看当前数据库的所有表名称查看指定某个表的创建语句查看表结构删除表 2.3 修改表结构添加列修改列名和类型删除列修改…

python之excel加工处理小案例一则

一、工具用途 工作中,需要对各类excel进行加工处理,当表和字段比较多时,关联条件又有多个,每次通过execl的vlookup之类的关联公式手工可以解决工作需求,但一般耗时较长,且人工统计匹配也存在出错的情况。 …

cnpm安装

npm install -g cnpm --registryhttps://registry.npmmirror.com # 注册模块镜像 npm set registry https://registry.npmmirror.com // node-gyp 编译依赖的 node 源码镜像 npm set disturl https://npmmirror.com/dist // 清空缓存 npm cache clean --force // 安装c…

深入理解操作系统与计算机体系结构

文章目录 操作系统(Operator System)为什么要有操作系统操作系统是如何进行管理的为什么说操作系统是安全,稳定,高效的理解系统调用和库函数 操作系统(Operator System) 概念: 操作系统(Operating System,简称OS&…

一文整理完MySQL关系型数据库相关知识

MySQL关系型数据库 1. 介绍1.1 MySQL 2. 安装3. SQL语句4. SQL分类5. DDL5.1 库的DDL5.2 表、列的DDL 6. DML6.1 添加数据6.2 修改数据6.3 删除数据 7. DQL7.1 基础查询7.2 条件查询7.3 排序查询7.4 聚合函数7.5 分组查询7.6 分页查询 8. 约束8.1 约束分类 9. 多表查询9.1 内连…

Vue阶段练习:tab栏、进度条、购物车

阶段练习旨在学习完Vue 指令、计算属性、侦听器-CSDN博客后,进行自我检测,每个练习分为效果显示、需求分析、静态代码、完整代码、总结 四个部分,效果显示和准备代码已给出,我们需要完成“完整代码”部分。 目录 练习1&#xff1…

【经验分享】MySQL集群部署一:主从模式

目录 前言一、基本介绍1.1、概念1.2、执行流程 二、部署2.1、通用配置2.2、主节点配置2.3、从节点配置2.4、主从测试2.5、谈一谈主节点历史数据同步问题 前言 MySQL的部署模式常见的包括以下几种: 独立服务器部署主从复制部署高可用性集群(HA&#xff…

(mac)Promethues监控之mysqld_exporter(MySQL监控)

搭建Mysqld_exporterPrometheusGrafana监控系统 普罗米修斯是后端数据监控平台,通过Mysqld_exporter收集mysql数据,Grafana将数据用图形的方式展示出来 前提:已安装grafana和promethues 1.下载安装Mysql (1)启动MySQL…

基于51单片机的电梯仿真系统

基于51单片机的电梯设计 (仿真+程序PPT) 功能介绍 具体功能: 1.一共4层,数码管显示当前楼层; 2.六个按键模拟电梯外按键(1上、2上、2下、3上、3下、4下),每当按下时有…

循环单链表的介绍与操作

定义 区别 链表合并 整合代码 typedef struct node{int data;node* next;; }lnode,*linklist; lnode* n; linklist l;//定义 void init(linklist &l){lnode lnew lnode;l->nextl;lnode *rl; } //单循环链表的合并 linklist merge(linklist &a,linklist b){//存头结…