lsim

动态系统的仿真时间响应于任意输入

句法

lsim(SYS,U,T)
lsim(SYS,U,T,X0)
lsim(SYS,U,T,X0,方法)
lsim(SYS1,...,sysn,U,T)
lsim(SYS1,LineSpec1,...,sysN,LineSpecN,U,T)
Y = lsim(___
[Y,T,X] = lsim(___
lsim(SYS)

描述

lsim模拟连续或离散的线性系统的(时间)响应于任意输入。当没有左手参数调用,lsim绘制屏幕上的反应。

lsim(SYS,U,T)产生的时间响应的曲线图动力系统模型SYS到输入历史,Ťü。矢量Ť指定用于模拟中的时间样本(以系统时间单位,在指定的TIMEUNIT财产SYS),以及由规则间隔的时间样本:

t = 0时:DT:T最终

输入ü由具有尽可能多的行作为时间样本的阵列(长度(t)的)和尽可能多的列系统输入。举例来说,如果SYS是SISO系统,然后ü为叔1矢量。如果SYS有三个输入端,然后ü为叔3阵列。每一行U(我,:)指定在时间样本的输入值(S)T(I)。信号ü也出现在图上。

该模型SYS可以是连续的或离散的,SISO或MIMO。在离散时间,ü必须以相同的速率作为系统进行采样。在这种情况下,输入Ť是多余的,并且可以省略或设置为空矩阵。在连续时间,该时间采样DT = T(2)-T(1)用于离散连续模型。如果DT过大(欠)lsim发出警告提示您使用更合适的采样时间,但将使用指定的采样时间。看到算法为采样时间的讨论。

lsim(SYS,U,T,X0)进一步指定的初始条件X0为系统状态。此语法仅适用于SYS是状态空间模型。X0是一个向量,其条目是的相应状态的初始值SYS

lsim(SYS,U,T,X0,方法)明确规定了如何输入值应样本,时间进行插补SYS是一个连续时间系统。指定方法为下列值之一:

  • 'ZOH'- 使用零阶保持

  • 'FOH'- 使用线性插值(一阶保持)

如果没有指定的方法,lsim选择的插值方法自动基于所述信号的平滑ü

lsim(SYS1,...,sysn,U,T)模仿到相同的输入历史的几个动态系统模型的响应Ťü和情节上的一个单一的数字,这些反应。您也可以使用X0方法计算多个模型的响应时输入参数。

lsim(SYS1,LineSpec1,...,sysN,LineSpecN,U,T)指定的线条样式,标记,并在每个小区的系统响应的颜色。您也可以使用X0方法输入参数与此语法。每一个linespec参数指定为一个,两个,或三个字符的向量。字符可以按任何顺序出现。例如,下面的代码图表的响应SYS1为黄色虚线和的响应系统2作为绿色虚线:

lsim(SYS1, 'Y:',SYS2, '克 - ',U,T,X0)

有关配置这种说法的更多信息,请参阅一个linespec的输入参数情节功能。

Y = lsim(___返回系统响应ÿ,在相同的时间作为输入采样(Ť)。输出ÿ由具有尽可能多的行作为时间样本的阵列(长度(t)的)和尽可能多的列系统输出。没有情节绘制在屏幕上。您可以使用此语法与任何输入参数在以前的语法描述的除外一个linespec参数。

[Y,T,X] = lsim(___还返回时间矢量Ť用于仿真和状态的轨迹X(对于状态空间模型只)。输出X有多达行的时间采样(长度(t)的),并尽可能多的列的系统状态。您可以使用此语法与任何输入参数在以前的语法描述的除外一个linespec参数。

lsim(SYS)打开线性模拟工具GUI。有关该GUI的详细信息,请参阅与线性模拟工具的工作

例子

全部收缩

模拟并绘制以下系统的方波与4秒期间的响应:

H 小号 = [ 2 小号 2 + 小号 + 1 小号 2 + 2 小号 + 3 小号 - 1 小号 2 + 小号 + ]

创建传输功能,并产生方波gensig。期间10秒采样每0.1秒。

H = [TF([2 5 1],[1 2 3]); TF([1 -1],[1 1 5])];[U,T] = gensig('广场',4,10,0.1);

然后用模拟lsim

lsim(H,U,T)

该图同时显示所施加的信号和响应。

负荷预测数据来估算模型。

负载(完整文件(matlabroot,'工具箱''IDENT''iddemos''数据''dcmotordata'));Z = IDDATA(Y,U,0.1%,'名称''DC-马达');

ž是一个IDDATA对象,其存储与采样时间0.1秒1输入2输出估计数据。

使用估计的数据估计的顺序4的状态空间模型ž

[SYS,X0 = N4SID(Z,4);

SYS是估计模型X0是所估计的初始状态。

模拟的响应SYS使用相同的输入数据作为一个用于估计和由所述估计命令返回初始状态。

[Y,T,X] = lsim(SYS,z.InputData,[],X0);

这里,ÿ是系统响应,Ť是用于模拟的时间矢量,和X是状态轨迹。

比较模拟响应ÿ到测量的响应z.OutputData两路输出。

副区(211),曲线图(T,z.OutputData(:,1),数k,T,Y(:,1),'R')图例(“测量后”“模拟”)副区(212),曲线图(T,z.OutputData(:,2),数k,T,Y(:,2),'R')图例(“测量后”“模拟”

算法

离散时间系统与模拟ltitr(状态空间)或过滤(传递函数和零极点增益)。

连续时间系统与离散C2D使用无论是'ZOH'要么'FOH'方法 ('FOH'用于平滑输入信号和'ZOH'用于不连续的信号,例如脉冲或方波)。采样时间被设置为间隔DT用户提供的时间样本之间Ť

的采样时间的选择可以大大影响模拟结果。为了说明为什么,考虑二阶模型

H 小号 = ω 2 小号 2 + 2 小号 + ω 2 ω = 62.83

为了模拟其的方波时间为1秒的响应,则可以进行如下操作:

W2 = 62.83 ^ 2;H = TF(W2,[1个2 W2]);t = 0时:0.1:5;时间样本%矢量U =(REM(T,1)> = 0.5);%的方波的值lsim(H,U,t)的

lsim评估指定的采样时间,并发出警告:

警告:输入信号采样不足。样品每0.016秒或更快。

为了改善这种反应,离散化H小号)使用推荐的采样时间:

DT = 0.016;TS = 0:峰dt:5;我们=(REM(TS,1)> = 0.5);HD = C2D(H,dt的);lsim(HD,美国,TS)

这种反应表现是隐藏在欠版本强烈振荡行为。

R2006a前推出