Matlab中lsim函数使用
目录
语法(常用)
说明
示例
lsim函数:lsim函数是针对线性时不变模型,给定任意输入,得到任意输出。lsim函数表示任意输入函数的响应,连续系统对任意输入函数的响应可以利用lsim函数求取。
语法(常用)
分子分母形式
lsim(num,den,u,t)
传递函数形式
lsim(sys,u,t)
状态空间形式
lsim(A,B,C,D,u,t)
其它形式
lsim(sys,u,t,x0)
lsim(sys,u,t,x0,method)
y=lsim(sys,u,t,x0)
y=lsim(sys,u,t,x0,method)
其中,u为由给定输入序列构成的矩阵,它的每列对应一个输入,每行对应一个新的时间点,其行数与时间t的长度相等,其它的用法与step函数相同。
说明
响应图
lsim(sys,u,t)绘制动态系统模型sys对输入历史记录(t,u)的模拟时间响应。 向量t指定用于仿真的时间样本。 对于单输入系统,输入信号u是与t长度相同的向量。 对于多输入系统,u是一个数组,其行数与时间样本(length(t))一样多,而列数与sys的输入一样多。
lsim(sys,u,t,x0)当sys是状态空间模型时,进一步指定初始状态值的向量x0。
lsim(sys,u,t,x0,method)当sys是连续时间模型时,如何在样本之间插入输入值,method即插入输入值的方法。
响应数据
y=lsim(sys,u,t)返回与输入y同时采样 的系统响应t。对于单输出系统,y是与长度相同的向量t。对于多输出系统, y是一个数组,其中的行与时间样本(length(t))一样多,列与的输出一样多sys。该语法不会生成图。
y=lsim(sys,u,t,x0)当sys是状态空间模型时,进一步指定初始状态值的向量x0。
y=lsim(sys,u,t,x0,method)当sys是连续时间模型时,如何在样本之间插入输入值,method即插入输入值的方法。
示例
示例1
%------------------------------------H(s)=[2s^2 + 5s + 1---------------s^2 + 2s + 3s - 1-----------s^2 + s + 5]
%------------------------------------
%%
clc;
clear off;
H = [tf([2 5 1],[1 2 3]);tf([1 -1],[1 1 5])];
[u,t] = gensig('square',4,10,0.1);
lsim(H,u,t);
如图所示:
当控制系统为状态空间表示时,则:
A = [-3 -1.5; 5 0];
B = [1; 0];
C = [0.5 1.5];
D = 0;
sys = ss(A,B,C,D);[u,t] = gensig("square",10,20);
lsim(sys,u,t)
grid on
采用方波输入,响应如图所示:
示例2
如下所示的传递函数:
sys = tf(3,[1 2 3])sys =3-------------s^2 + 2 s + 3
它是一个连续的系统,则:
sys = tf(3,[1 2 3]);
t = 0:0.04:8; % 201 points
u = max(0,min(t-1,1));
lsim(sys,u,t)
grid on
用lsim函数获取模拟的响应数据为:
y = lsim(sys,u,t);
size(y)
ans = 1×2201 1
向量y包含t相应时间的模拟响应。
示例3
当控制系统为离散型时,且该传递函数的采样时间为0.05 s。使用相同的采样时间来生成时间矢量t和阶跃信号u。如下所示:
sys = tf([0.06 0.05],[1 -1.56 0.67],0.05);
t = 0:0.05:4;
u = max(0,min(t-1,1));
lsim(sys,u,t)
如图所示:
当输入为正弦波时,即模拟系统对周期为1 s,持续时间为4 s的正弦波的响应。,则:
sys = tf([0.06 0.05],[1 -1.56 0.67],0.05);
t = 0:0.05:4;
[u,t] = gensig("sine",1,4,0.05);
lsim(sys,u,t)
其响应如图所示:
示例4
lsim允许在同一轴上绘制多个动态系统的模拟响应。 例如,比较带有PI控制器和PID控制器的系统的闭环响应。 创建系统的传递函数并调整控制器。如下所示:
H = tf(4,[1 10 25]);
C1 = pidtune(H,'PI');
C2 = pidtune(H,'PID');%形成闭环系统
sys1 = feedback(H*C1,1);
sys2 = feedback(H*C2,1);%绘制两个系统对周期为4 s的方波的响应。
[u,t] = gensig("square",4,12);
lsim(sys1,sys2,u,t)
grid on
legend("PI","PID")
如图所示:
默认情况下,lsim绘制的每个系统选择不同的颜色。 可以使用LineSpec输入参数指定颜色和线条样式。
H = tf(4,[1 10 25]);
C1 = pidtune(H,'PI');
C2 = pidtune(H,'PID');%形成闭环系统
sys1 = feedback(H*C1,1);
sys2 = feedback(H*C2,1);%绘制两个系统对周期为4 s的方波的响应。
[u,t] = gensig("square",4,12);
lsim(sys1,"r--",sys2,"b",u,t)grid onlegend("PI","PID")
如图所示:
示例5
默认情况下,lsim假设在模拟开始时所有状态均为零,从而模拟模型。 模拟状态空间模型的响应时,当使用可选的x0输入参数指定非零初始状态值。 考虑以下两个状态的SISO状态空间模型。
A = [-1.5 -3;3 -1];
B = [1.3; 0];
C = [1.15 2.3];
D = 0;sys = ss(A,B,C,D);x0 = [-0.2 0.3];
t = 0:0.05:8;
u = zeros(length(t),1);
u(t>=2) = 1;
lsim(sys,u,t,x0)
grid on
如图所示,图的前半部分显示了系统从初始状态值[-0.2 0.3]的自由演化。 在t = 2时,输入有一个阶跃变化,该图显示了系统从此时的状态值开始对这个新信号的响应:
Matlab中lsim函数使用相关推荐
- Matlab中bwmorph函数的使用
Matlab中bwmorph函数的使用 Matlab中提供了一个基于形态学的处理函数,即以膨胀.腐蚀等操作为基础,其语法格式如下: bw2=bwmorph(bw1,operation,n); 其中bw ...
- 9.matlab中repmat函数
来源: matlab中repmat函数的用法 - CSDN博客 https://blog.csdn.net/anqier1009/article/details/5214978 B = repmat( ...
- 如何在Matlab中获取函数参数的数目?
本图文详细介绍了Matlab中获取函数参数数目的方法.
- matlab s% d%,matlab中var函数的翻译For N-D arrays, VAR operates along the first
matlab中var函数的翻译For N-D arrays, VAR operates along the first matlab中var函数的翻译 For N-D arrays, VAR oper ...
- 关于MATLAB中xlswrite函数写数据出现服务器异常情况的解决办法
关于MATLAB中xlswrite函数写数据出现服务器异常情况的解决办法 参考文章: (1)关于MATLAB中xlswrite函数写数据出现服务器异常情况的解决办法 (2)https://www.cn ...
- Matlab中Ksdensity()函数的用途 (2011-04-02 16:55:17)
Matlab中Ksdensity()函数的用途 (2011-04-02 16:55:17) 转载▼ 标签: 杂谈 分类: Matlab应用 我们在统计数据处理时,经常计算一个样本的概率密度估计,也就是 ...
- cumsum在matlab中,matlab中cumsum函数和sum函数详解
调用格式及说明 matlab中cumsum函数通常用于计算一个数组各行的累加值.在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息. 调用格式及说明 ...
- matlab中fprintf函数的具体使用方法
matlab中fprintf函数的具体使用方法实例如下: fprintf函数可以将数据按指定格式写入到文本文件中.其调用格式为: 数据的格式化输出:fprintf(fid, format, varia ...
- Matlab中plot函数及legend函数详解
Matlab中plot函数及legend函数详解 Matlab中plot函数及legend函数详解 Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1 ...
最新文章
- 听说做前后端的都是这个体会? | 每日趣闻
- 把玩Fedora29操作系统
- Mysq表的创建和l数据类型
- 计算机二级的编程题,计算机二级编程题(范文).doc
- Python3调试类_io.BytesIO、_io.StringIO用法(Python3 IO编程之StringIO和BytesIO)
- c# xls 复制一行_C# 复制Excel单元格格式
- leetcode刷题日记-1995. 统计特殊四元组
- Maven 详解及常用命令
- 电阻电容串联并联关系,一辈子受益
- 大数据常见专有名词解释
- 计算机显卡类型有,显卡类型分几种|笔记本显卡类型
- Android使用adb截屏
- 应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)...
- ps照片人像油画复古效果怎么做
- Arduino中Serial.print()与Serial.write()函数的区别,以及串口通信中十六进制与字符串的收发格式问题和转换过程详解
- WPF 几何图形之图形微语言命令
- mac 打开网页慢_在Mac电脑开启Safari速度总是很慢?可以试试这10种解决方法
- Debian搭建dns服务器
- C1.Win.C1GanttView.C1GanttView 甘特图使用经验:子任务
- 【ARM】led·fs2410流水灯
热门文章
- php 射影定理,射影定理是哪年级学的
- 【GitHubDailyShare】开源的可视化平台搭建方案,让你可以快速定制一个可视化拖拽平台
- U-boot启动过程之——relocate_code分析
- JAVA读文件类之FileReader/InputStreamReader/BufferedReader
- 开黑不卡顿,运行不掉帧,高通骁龙 835 助力 NEST 2017 王者荣耀组决赛
- 2021年美亚杯个人资格赛(记录第一次的取证之旅)
- TDSCDMA手机N270 新邮通开包尝鲜!
- Race Condition 引起的 HashMap CPU100%
- 【JZOJ4117】lhxsb(三角函数+凸壳+CDQ分治)
- 1051366-32-5,Balixafortide (POL6326),肽类 CXC chemokine receptor 4 (CXCR4) 的拮抗剂