利用Matlab实现时域分析功能的示例详解

目录
  • step函数(求阶跃响应)
  • impulse函数(求脉冲响应)
  • lsim函数(求输出)
  • 1.求二阶系统不同阻尼比条件下的阶跃响应曲线
  • 2.求二阶负反馈系统的动态性能指标

利用MATLAB可以方便地进行控制系统的时域分析。洋相判断系统的稳定性,只要求出系统的闭环极点,即闭环传递函数的分母多项式的根即可,而分析系统的动态特性,只要求出系统的阶跃响应即可。

利用MATLAB控制系统工具箱中所提供的求联系系统的单位阶跃响应函数step(),单位冲激响应函数impluse(),任意输入信号下的响应函数lsim()等函数可以方便的求出系统在该信号作用下的响应。

step函数(求阶跃响应)

step(num,den)

num表示分子各阶系数,den表示分母各阶系数

作用:已知闭环传递函数,求其阶跃响应

step(num,den)会输出图像;ct2=step(num,den)输出数值。

impulse函数(求脉冲响应)

impulse(num,den)

num表示分子各阶系数,den表示分母各阶系数

作用:已知闭环传递函数,求其脉冲响应

impulse(num,den)会输出图像;ct2=impulse(num,den)输出数值。

lsim函数(求输出)

lsim(sys,u,t)

sys传递函数,u 输入函数,t时域自变量

作用:已知输入函数和传递函数,用这个可以的到每次系统的输入对应的输出(输入函数u要是时域中的,可以输出图像也可以是对应的值)

1.求二阶系统不同阻尼比条件下的阶跃响应曲线

已知典型二阶系统的传递函数为

假设Wn=1,试在同一张图上绘制当阻尼比分别为0、0.1、0.3、0.5、0.7、1、2时系统的单位阶跃曲线

dum=[4];
den1=[1 0 4];
den2=[1 0.4 4];
den3=[1 1.2 4];
en4=[1 2 4];
den5=[1 2.8 4];
den6=[1 4 4];
den7=[1 8 4];
sys1=tf(dum, den1);
sys2=tf(dum, den2);
sys3=tf(dum, den3);
sys4=tf(dum, den4);
sys5=tf(dum, den5);
sys6=tf(dum, den6);
sys7=tf(dum, den7);
step(sys1, sys2, sys3, sys4, sys5, sys6, sys7);

可以看到阻尼比为0时无法收敛,其他阻尼比均收敛

2.求二阶负反馈系统的动态性能指标

设单位负反馈二阶系统的开环传递函数为

G(s)=1.25/s²+s

试计算系统的动态性能指标:上升时间tr、峰值时间tp、超调量、调整时间ts

clear
num=1.25;
den=[1 1 0];
sys=tf(num,den);%建立系统开环传递函数模型
sys=feedback(sys,1);%建立系统闭环传递函数模型
[y,t]=step(sys);%求系统单位阶跃响应
ytr=find(y>=1);
rise_time=t(ytr(1))%计算上升时间
[ymax,tp]=max(y);
peak_time=t(tp)%计算峰值时间
max_overshoot=ymax-1%计算超调量
s=length(t);
while y(s)>0.98&y(s)<1.02
    s=s-1;
end
settling_time=t(s+1)%计算调整时间
plot(t,y,'k',t,ones(length(t),1),'k-.')%绘制响应曲线
axis([0 10 0 2.2])
title('Plot of Unit-Setp Response Curves','Position',[5 2.22],'FontSize',8)
xlabel('Time(sec)')
ylabel('Response')

到此这篇关于利用Matlab实现时域分析功能的示例详解的文章就介绍到这了,更多相关Matlab时域分析内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 层次分析法在matlab上的实现方式

    目录 计算步骤 案例 (1)建立层次结构模型 (2)构造判断矩阵 (3)判断矩阵的一致性检验 (4) 层次总排序及决策 优缺点 (一)优点 (二)缺点 注意事项 四层AHP 总结 层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯.塞蒂(T.L.saaty)正式提出. 它是一种定性和定量相结合的.系统化.层次化的分析方法.由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视. 它的应用已遍及经济计划和管

  • 基于Matlab实现数字音频分析处理系统

    目录 一.语音处理简介 1语音信号的特点 2语音信号的采集 3语音信号分析技术 4语音信号的时域分析 5语音信号的频域分析 二.部分源代码 三.运行结果 一.语音处理简介 1 语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点: ①在频域内,语音信号的频谱分量主要集中在300-3400Hz的范围内.利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号. ②在时域内,语音信号具有“

  • java 与testng利用XML做数据源的数据驱动示例详解

    java 与testng利用XML做数据源的数据驱动示例详解 testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例: 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object>[] TestData.xml: <?xml version="1.0" encoding="UTF-8"?> <

  • 利用Python自动生成PPT的示例详解

    在日常工作中,PPT制作是常见的工作,如果制作创意类PPT,则无法通过自动化的形式生成,因为创意本身具有随机性,而自动化解决的是重复性工作,两者有所冲突. python-pptx是python处理PPT的一个库,注重的是读和写,无法导出,没有渲染功能. 废话不多说,第一步,安装python-pptx库: pip3 install -i https://pypi.doubanio.com/simple/ python-pptx ppt里面处理的主要对象一般为文本框,表格,图片. 每一页的ppt为一

  • Python实现ATM简单功能的示例详解

    目录 一.局部变量.全局变量 二.global关键字 三.编写ATM程序 要求 详细步骤 存在问题 改进 完整代码 一.局部变量.全局变量 1.什么是局部变量 作用范围在函数内部,在函数外部无法使用 2.什么是全局变量 在函数内部和外部均可使用 3.如何将函数内定义的变量声明为全局变量 使用global关键字,global变量 二.global关键字 思考: num=100 def testsA() print(num) def testB() num=200 print(num) testA(

  • 利用IntersectionObserver实现动态渲染的示例详解

    目录 前言 实现 懒加载组件 长列表组件示意 测试 前言 开发表格时,希望支持可视后的动态加载.在查找资料做了一些尝试后,最终使用IntersectionObserver,相对方便地实现了该功能 IntersectionObserver诞生已经有几年了,所以它的兼容性目前已经达到可以使用的程度了.具体兼容程度以及详细API可参考CDN 实现 懒加载组件 核心就是利用了IntersectionObserver的能力,封装了LazyContainer组件,该组件的children,只有在视口中可见时

  • 利用Python实现智能合约的示例详解

    目录 智能合约 1. 是什么 2. 使用场景 用Python如何实现 1. 设计智能合约 2. 编写智能合约源代码 3. 编译智能合约 4. 部署智能合约 5. 调用智能合约方法 6. 监控智能合约事件 7. 升级智能合约 智能合约 1. 是什么 智能合约是一种由计算机程序编写的自动化合约,它可以在没有第三方干预的情况下执行交易和契约条款.智能合约使用区块链技术实现,可以实现不同的功能,例如交易.投票.代币发放和数据存储等.智能合约的执行是基于其代码的逻辑,并且在既定条件满足时自动执行.智能合约

  • Java实现图片裁剪功能的示例详解

    目录 前言 Maven依赖 代码 验证一下 前言 本文提供将图片按照自定义尺寸进行裁剪的Java工具类,一如既往的实用主义. Maven依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version> </dependency> <dependen

  • Ajax实现上传图像功能的示例详解

    最终效果展示 xhr发起请求 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="widt

  • go语言定时器Timer及Ticker的功能使用示例详解

    目录 定时器1-"*/5 * * * * *" 设置说明 定时器2-Timer-Ticker Timer-只执行一次 Ticker-循环执行 Timer延时功能 停止和重置定时器 定时器Ticker使用 定时器1-"*/5 * * * * *" package main import ( "fmt" "github.com/robfig/cron" ) //主函数 func main() { cron2 := cron.New

  • 利用Pygame制作简单动画的示例详解

    目录 前言 计时器 绘制精灵 加载精灵 完整代码 前言 实现一个帧动画,使用的一个图,根据不同的时间显示不同的图. 使用的就是如下所示的一张图,宽度780 * 300 ,使用加载图片 260 * 150来实现. pygame.init() screen = pygame.display.set_mode((400, 300), 0, 32) pygame.display.set_caption("动画") while True: for event in pygame.event.ge

  • 利用Python创建位置生成器的示例详解

    目录 介绍 开始 步骤 创建训练数据集 创建测试数据集 将合成图像转换回坐标 放在一起 结论 介绍 在这篇文章中,我们将探索如何在美国各地城市的地图数据和公共电动自行车订阅源上训练一个快速生成的对抗网络(GAN)模型. 然后,我们可以通过为包括东京在内的世界各地城市创建合成数据集来测试该模型的学习和概括能力. git clone https://github.com/gretelai/GAN-location-generator.git 在之前的一篇博客中,我们根据电子自行车订阅源中的精确位置数

随机推荐