利用MATLAB进行系统时域分析,matlab控制系统时域分析教程
7.1 零输入响应
1、[调用格式] initial (sys,x0) initial (sys,x0,t)
initial (sys1,sys2….sysn,x0) initial (sys1,sys2….sysn,x0,t)
initial (sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)
[y t x]=initial(sys,x0)
Sys—输入系统 x0—初始状态下状态变量
t—采样时间矢量 plotstyle—绘制零输入响应曲线的特性
[y t x]—表示输出矢量 采用时间 状态变量
重要提示:initial命令适用于状态方程模型sys
2、例:根据传递函数求解单一系统的零输入相应
初始状态下状态变量为
num=[0 0 1 1];den=[1 9 26 24];
[a b c d]=tf2ss(num,den);
sys=ss(a,b,c,d);
x0=[1 1 0]';
t=0:0.01:4;
initial(sys,x0,t);
7.2 阶跃响应
[调用格式] step(sys) step(sys ,t)
Step(sys1,sys2,….sysn) Step(sys1,sys2,….sysn,t)
step(sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)
[y t x]=step(sys,x0)
例:根据状态方程输出多系统的阶跃响应
系统一:
系统二:
a1=[-4 -3;1 0];b1=[1 0]';c1=[3 0];d1=[2];
sys1=ss(a1,b1,c1,d1);
a2=[-5 -3;1 0];b2=[1 0]';c2=[1 1];d2=[0];
sys2=ss(a2,b2,c2,d2);
step(sys1,'r-',sys2,'b-.');
7.3 脉冲响应
[调用格式] impulse(sys) impulse(sys ,t)
impulse(sys1,sys2,….sysn) impulse(sys1,sys2,….sysn,t)
impulse(sys1,’plotstyle1’,sys2, ’plotstyle2’,….,x0)
[y t x]=impulse(sys,x0)
例:根据状态方程输出单一系统的脉冲响应
a=[-11 -44 -74 -40;1 0 0 0 ;0 1 0 0;0 0 1 0];b=[1 0 0 0]';
c=[0 0 20 0];d=[0];
sys=ss(a,b,c,d);
t=0:0.01:10;
impulse(sys,t);
7.4 任意输入的时域响应曲线
1、产生输入信号
[调用格式] gensig 产生输入信号
[u t]=gensig(type,tau)
[u t]=gensig(type, tau, tf ,ts)
Type—输入信号类型(sin正弦信号; square 方波信号 ;pulse周期脉冲信号)
Tau—输入信号的周期 tf—信号的持续时间
ts—信号时间的步长 [u t]—输出信号历史记录
例:绘制正弦、方波、周期脉冲信号。
[u1 t1]=gensig('sin',2*pi);
subplot(3,1,1);plot(t1,u1,'r');
axis([0 25 -2 2]);
title('sin wave');
[u2,t2]=gensig('square',5);
subplot(3,1,2);plot(t2,u2,'y');
axis([0 25 -1 2]);
title('square wave');
[u3 t3]=gensig('pulse',5);
subplot(3,1,3);plot(t3,u3,'b');
axis([0 25 -1 2]);
title('pulse wave');
2、任意输入信号的时域响应
[调用格式] lsim(sys ,u,t) lsim(sys,u ,t,x0)
lsim(sys1,sys2,….sysn,u,t) lsim(sys1,sys2,….sysn,u,t,x0)
lsim(sys1,’plotstyle1’,sys2, ’plotstyle2’,….,u,t)
[y t x]=lsim(sys,u,t,x0)
Sys—输入系统 u t—由gensig产生的信号历史记录
例:绘制正弦和方波输入信号作用于同一系统的响应曲线。
[u1 t1]=gensig('sin',2*pi);
[u2,t2]=gensig('square',5);
a=[-8 -15;1 0];b=[1 0]';c=[50 0];d=[0];
sys=ss(a,b,c,d);
subplot(2,1,1);lsim(sys,u1,t1);
subplot(2,1,2);lsim(sys,u2,t2);
8.1 Bode图
1、绘制Bode图
bode函数绘制控制系统幅频和相频图
[调用格式] bode(sys) bode(sys, w) bode(sys1,sys2..sysn)
bode(sys1,sys2..sysn,w) bode(sys1,’plotstyle1’,sys2,’plotstyle2’,..sysn,’plotstylen’,)
[mag, phase, w]=bode(sys)
w—频率区间矢量,控制频率起止范围
[mag, phase, w]—输出幅值矢量 输出相角 输出频率区间
绘制系统幅频图
[调用格式] bodemag(sys) bodemag(sys, w) bodemag(sys1,sys2..sysn) bodemag(sys1,sys2..sysn,w) bodemag(sys1,’plotstyle1’,sys2,’plotstyle2’,..sysn,’plotstylen’,)
例1:根据状态方程模型进行绘制阶跃响应曲线以及Bode图。
a=[-10 -31 -30;1 0 0;0 1 0];b=[1 0 0]';c=[0 2 2];d=[2];
sys=ss(a,b,c,d);
figure;
step(sys);
figure;
bode(sys);
例2:根据传递函数绘制Bode图的频率响应曲线。
num=[0 2 0];den=[1 8 15];
sys=tf(num,den);
bodemag(sys);
2、系统的增益裕度和相角裕度
增益裕度定义:正好使系统频率响应穿过临界点的增益与实际系统增益的比值。
相角裕度:为了使系统的频率响应通过临界点必须引入的纯相位滞后量。
[调用格式] [gm pm wcg wcp]=margin(sys)
[gm pm wcg wcp ]=margin(mag, phase, w)
Gm—系统增益裕度 pm—系统相角裕度
wcg wcp---表示交叉频率
例:绘制状态方程模型的阶跃响应曲线,Bode图以及增益裕度和相角裕度Bode图。
a=[-10 0 -30;1 0 0;0 1 0];b=[1 0 0]';c=[0 2 2];d=[0];
sys=ss(a,b,c,d);
figure;step(sys);
figure;bode(sys);
figure;margin(sys);
8.2 Nichols图
对数幅相特性图(Nichols图)是描述系统频率特性的图示方法。该图纵坐标表示频率特性的对数幅值,以分贝为单位;横坐标表示频率特性的相位角。
[调用格式] nichols(sys) nichols(sys, w) nichols(sys1,sys2..sysn) nichols(sys1,sys2..sysn,w) nichols(sys1,’plotstyle1’,sys2,’plotstyle2’,..sysn,’plotstylen’,)
[mag, phase, w]=nichols(sys)
[mag, phase]=nichols(sys, w)
例:根据状态方程模型进行绘制脉冲响应曲线以及Nichols图。
a=[-15 -200 -380 -60;1 0 0 0;0 1 0 0;0 0 1 0];b=[1 0 0 0]';
c=[60 390 960 520];d=[-2];
sys=ss(a,b,c,d);
impulse(sys);
figure;nichols(sys);
ngrid;%加上网格
8.3 Nyquist图
系统频率特性的极坐标图——Nyquist图
[调用格式] nyquist(sys) nyquist(sys, w) nyquist(sys1,sys2..sysn) nyquist(sys1,sys2..sysn,w) nyquist(sys1,’plotstyle1’,sys2,’plotstyle2’,..sysn,’plotstylen’,)
[mag, phase, w]=nyquist(sys)
[mag, phase]=nyquist(sys, w)
例:根据状态方程模型进行绘制脉冲响应曲线以及Nyquist图。
a=[-6 -23 -34 -26;1 0 0 0;0 1 0 0;0 0 1 0];b=[1 0 0 0]';
c=[0 0 2 0];d=[2];
sys=ss(a,b,c,d);
impulse(sys);
figure;
nyquist(sys);
8.4 一般频率响应图
[调用格式] h=freqs(num , den, w)
[h ,w]=freqs(num, den)
[h ,w]=freqs(num ,den, f) freqs(num ,den)
Num—传递函数分子矢量 den—传递函数分母矢量
W—频率区间矢量
例:根据传递函数绘制脉冲响应曲线以及一般频率响应图。
num=[0 0 2 0];den=[1 6 11 6];
sys=tf(num,den);
impulse(sys);
figure;
freqs(num,den);
8.5 频率响应的奇异值图
[调用格式] sigma(sys) sigma(sys, w) sigma(sys ,w, type)
sigma(sys1,sys2..sysn) sigma(sys1,sys2..sysn,w)
sigma(sys1,sys2..sysn,w, type)
sigma(sys1,’plotstyle1’,sys2,’plotstyle2’,..sysn,’plotstylen’,)
[sv, w]=sigma(sys) sv=sigma(sys, w)
Type—绘制奇异值图的类型
Type=1 控制系统的频率响应H的奇异值图
Type=2 控制系统的频率响应I+H的奇异值图
Type=3 控制系统的频率响应I+H-1的奇异值图
Sv—频率的奇异值 plotstyle—绘制奇异值曲线的特性
例:根据状态方程模型进行绘制脉冲响应曲线以及频率响应奇异值图。
a=[-9 -26 -24;1 0 0;0 1 0];
b=[1 0 0]';c=[0 1 1];
sys=ss(a,b,c,d);
impulse(sys);
figure;
sigma(sys);
8.6 绘制根轨迹
1、求系统的零点、极点、增益
[调用格式] p=pole(sys) 计算控制系统的极点
Z=zero(sys) 计算控制系统的零点
[z, gain]=zero(sys) 计算控制系统的零点、增益
例:根据状态方程模型求解系统的极点、零点、增益。
a=[-9 -26 -24;1 0 0;0 1 0];
b=[1 0 0]';c=[0 1 1];
sys=ss(a,b,c,d);
p=pole(sys);
[z,g]=zero(sys);
另一种方法:
a=[-9 -26 -24;1 0 0;0 1 0];
b=[1 0 0]';c=[0 1 1];
[z p k]=ss2zp(a,b,c,d);
2、绘制系统极点、零点图
[调用格式] pzmap(sys) pzmap(sys1,sys2,…sysn)
[p z]=pzmap(sys)
例:根据状态方程模型求解系统的极点、零点图。
a=[-2.6 -3 -2.15 -0.1875;1 0 0 0;0 1 0 0;0 0 1 0];
b=[1 0 0 0]';c=[0 1 1.5 0.5];
sys=ss(a,b,c,d);
pzmap(sys);%极点用叉表示
3、绘制根轨迹图
[调用格式] rlocus(sys) rlocus(sys ,k)
Rlocus(sys1,sys2,…)
[r k]=rlocus(sys) r=rlocus(sys,k)
k—表示增益 r—系统的极点
例:根据状态方程模型绘制系统的根轨迹图。
a=[-3.2 -3.4 -1.82 -0.6732 -0.0522;1 0 0 0 0 ;0 1 0 0 0;0 0 1 0 0 ;0 0 0 1 0];
b=[1 0 0 0 0 ]';c=[0 0 1 1.5 0.5];
sys=ss(a,b,c,d);
rlocus(sys);
利用MATLAB进行系统时域分析,matlab控制系统时域分析教程相关推荐
- matlab语音识别系统(源代码),matlab语音识别系统(源代码)最新版DOC.doc
目录 一. 设计任务及要求------------------1 二. 语音识别的简单介绍 2.1语者识别的概念-----------------2 2.2特征参数的提取--------------- ...
- helvetica matlab,汽车系统动力学Matlab[骄阳书屋]
<汽车系统动力学Matlab[骄阳书屋]>由会员分享,可在线阅读,更多相关<汽车系统动力学Matlab[骄阳书屋](18页珍藏版)>请在人人文库网上搜索. 1.汽车系统动力学M ...
- matlab进行系统校正,MATLAB校正系统程序
MATLAB校正系统程序 clear; G1=tf(20,[1,0.4,0]) %系统的开环传递函数 G=feedback(G1,1,-1) %原系统的闭环传递函数 figure(1) step(G) ...
- matlab 神经元系统,应用Matlab设计人工神经元网络控制系统
第19卷第3期 2002年 8月贵州大学学报(自然科学版)JournalofGuizhouUniversity(NaturalScience)Vol.19No.3Aug.2002文章编号 1000-5 ...
- matlab演示系统,基于Matlab的通信原理演示系统的设计与应用
基于 Matlab的通信原理演示系统的设计与应用 李 强 , 明 艳 , 吴坤君 (重庆邮电大学 通信学院 , 重庆 400065) 摘 要 : 利用 Matlab图形用户界面的开发环境和强大的通信仿 ...
- 用matlab解系统框图,matlab软件应用介绍 3-6 系统连接框图的模型.ppt
<matlab软件应用介绍 3-6 系统连接框图的模型.ppt>由会员分享,可在线阅读,更多相关<matlab软件应用介绍 3-6 系统连接框图的模型.ppt(16页珍藏版)> ...
- matlab欠阻尼系统注释,MATLAB 实用教程:第5章MATLAB程序设计
<MATLAB 实用教程:第5章MATLAB程序设计>由会员分享,可在线阅读,更多相关<MATLAB 实用教程:第5章MATLAB程序设计(31页珍藏版)>请在人人文库网上搜索 ...
- matlab望远镜系统,基于MatLab的天文望远镜电机调速系统的仿真与分析
1 引 言 望远镜是现代天文学探索宇宙的主要工具,已成为人们从事科学研究和经济建设的有力助手,广泛应用于天文.导航.科学考察等领域,成为一项高科技产品,间接反映了一个国家的经济实力与科技水平高低.电机 ...
- matlab演示系统,用MATLAB演示新古典增长模型
程序是由卡内基梅隆大学的Dan Li 编写的,邮箱是danli@andrew.cmu.edu,个人网页:www.danli.org 此贴仅供学习参考. 假设没有人口增长和技术进步,劳动力的供给是没有弹 ...
- 利用MATLAB进行系统时域分析,实验二 利用matlab进行系统的时域分析
实验二 利用matlab进行系统的时域分析 实验二 利用MATLAB进行系统的时域分析 1.实验目的 在理论学习的基础上,通过本实验熟悉LTI连续时间系统的时域分析方法, 熟悉系统的零输入响应.零状态 ...
最新文章
- 关于编程的浅学习与深学习
- java vue20.2.2浏览器_支持 Java 15!Java 开发工具 IntelliJ IDEA 2020.2发布
- c++获得总和S所需的最小硬币数量的函数(附完整源码)
- C# 2.0 锐利体验
- Blazor 机制初探以及什么是前后端分离,还不赶紧上车?
- 传输层两大协议:TCP与UDP详解(两者的联系与区别)
- java中import两种导入类型比较
- 阿里巴巴再陷“抄袭门”,究竟孰真孰假?
- Apple Watch新玩法:手势操控无人机
- UVa11809-Floating-Point Numbers
- 一个高性能RPC框架的连接管理
- 四川省大学生金融科技建模大赛-模型复现和点评
- 安卓软件汉化教程附带汉化工具Android Res Edit V1.5
- virtualbox 搭建opnsense 防火墙
- 有点意思!“古董级” 诺基亚功能机跑 Linux
- Bootstrap 学习笔记1 - CSS
- Cups打印机驱动延迟Bug解决
- 怎么在服务器里修改分机的ip,Avaya1608IP话机设置步骤、分机号重设、电话机重置_Avaya1608IP电话机设置步骤、分机号重设、电话机重置_软件教程_了忧科技...
- linux ccid驱动下载,ccid驱动支持
- 【睡眠障碍】睡觉前数绵羊对睡眠障碍没有作用