帮助中心帮助中心
创建周期信号,用于模拟系统响应lsim
lsim
[u, t] = gensig(类型、τ)
[u, t] = gensig(类型、τTf)
(u, t) = gensig(类型、τTf, Ts)
例子
[u,t) = gensig (类型,τ)生成具有指定类型和周期的单位振幅周期信号。使用信号u和相应的时间矢量t模拟单输入动态系统的时间响应lsim或lsimplot或者用lsiminfo.为多输入系统创建信号,使用重复调用gensig并将生成的u把向量转化为矩阵。当你使用u而且t为了模拟一个动态系统模型,该软件解释t的单位TimeUnit模型的属性。
[u,t) = gensig (类型,τ)
u
t
类型
τ
lsimplot
lsiminfo
gensig
TimeUnit
[u,t) = gensig (类型,τ,特遣部队)生成一个持续时间为的信号特遣部队.t从0到特遣部队的增量τ/ 64.
[u,t) = gensig (类型,τ,特遣部队)
特遣部队
τ/ 64
[u,t) = gensig (类型,τ,特遣部队,Ts)生成一个采样时间为的信号Ts.t从0到特遣部队的增量Ts.若要生成用于模拟离散时间模型的信号,请使用此语法并设置Ts到模型的采样时间。
[u,t) = gensig (类型,τ,特遣部队,Ts)
Ts
全部折叠
生成一个周期为2 s的方波,用于模拟动态系统响应lsim.
τ= 2;(u, t) = gensig (“广场”,τ);
gensig返回作为向量的信号u和相应的时间向量t.当你不指定信号的持续时间时,gensig产生一个运行五个周期的信号(Tf = 5 *τ).如果不指定时间步长,则该函数默认为每个周期64个样本(Ts =τ/ 64).因此,该信号运行10 s,时间步长为0.03125 s。画出信号。
Tf = 5 *τ
Ts =τ/ 64
情节(t, u)
gensig返回从0开始的单位振幅方波。您可以修改u得到一个具有不同振幅和不同端点的方波。创建一个周期为5的方波,持续15秒,并在-1和1之间切换。
τ= 5;Tf = 15;(情况,t) = gensig (“广场”τ,Tf);u = 2 * u0-1;情节(t, u)
使用t而且u用。来模拟动态系统的响应lsim.的lsim的值t在您所模拟的动态系统模型的单元中(sys。TimeUnit).
sys。TimeUnit
Sys = tf(30,[1 5 30]);lsim (sys, u, t)
如果不指定时间步长(采样时间),gensig默认为每个周期64个样本,或Ts =τ/ 64.当你想模拟离散时间模型时lsim时,时间步长必须等于模型的采样时间。提供gensig用此采样时间生成合适的信号。例如,生成一个正弦波来模拟一个具有0.1 s采样时间的离散动态系统模型。
τ= 3;Tf = 6;t = 0.1;(u, t) = gensig (“正弦”τ,Tf, Ts);
模拟模型对生成信号的响应。
sys = zpk ([], [-0.1, -0.5], 1, Ts);lsim (sys, u, t, Ts)
用来模拟一个多输入系统lsim,将输入信号作为矩阵提供,其列表示应用到每个输入的信号。换句话说,u (:, j)信号是否应用到j每个时间步的Th输入。使用gensig要生成这样的输入矩阵,需要为每个输入一起创建信号,并将它们堆叠在一个矩阵中。
u (:, j)
j
例如,创建一个用于模拟双输入系统的信号,该信号向第一个输入注入周期为2s的方波,并向第二个输入注入每1.5 s一次的脉冲。指定持续时间和采样时间,使两个向量具有相同的长度,这是将它们组合成一个矩阵所必需的。
Tf = 8;t = 0.02;(澳大利亚,t) = gensig (“广场”2 Tf Ts);(万国邮联~)= gensig (“脉搏”, 1.5, Tf, Ts);u = [uSq uPu];大小(u)
ans =1×2401 2
每一行u(我,:)的u是信号(u1, u2)在相应的时间应用于输入t(我).
u(我,:)
(u1, u2)
t(我)
您可以组合没有创建的信号gensig只要它们的长度相同。例如,假设您想通过应用程序来模拟一个三输入系统澳大利亚到第一个输入和万国邮联第二个输入。您还希望对第三个输入应用一个斜坡,它从0开始,在最后时刻增加到1Tf = 8.确保信号是一个列向量,其长度与澳大利亚而且万国邮联.然后将其与其他信号结合,形成输入矩阵。
澳大利亚
万国邮联
Tf = 8
uRa所言= linspace (1401 0) ';u = [uSq uPu uRa];大小(u)
ans =1×2401年3
你现在可以使用u而且t模拟一个三输入模型。生成一个三输入、两输出的状态空间模型,并模拟其两个输出处的响应u在输入处应用。
rng (“默认”) sys = rss(3,2,3);lsim (sys, u, t)
“正弦”
“广场”
“脉搏”
要产生的周期信号的类型,指定为以下之一:
“正弦”——正弦波
“广场”——方波
“脉搏”-周期性脉冲
所有信号都有单位振幅,在点处的初值为0t = 0.可以使用字符向量而不是字符串指定类型(例如,的正弦).
t = 0
的正弦
生成信号的周期,指定为正标量值。指定τ在你想要模拟的动态系统模型的单元中lsim.例如,如果sys。TimeUnit是“秒”,然后生成用于模拟的信号sys设置周期为30秒τ到30。如果sys。TimeUnit是“分钟”,然后生成这样的信号,设置τ到0.5。
“秒”
sys
“分钟”
5 *τ
用于模拟的信号持续时间,指定为正标量值。输出向量t是这样的形式0: Ts: Tf,其中时间步长设置为Ts.当你使用t与lsim为了模拟一个动态系统模型,lsim解释t有指定的单位TimeUnit模型的属性。
0: Ts: Tf
时间步长,指定为正标量值。输出向量t是这样的形式0: Ts: Tf.的单位Ts单位是否由TimeUnit您打算用来进行模拟的属性动态系统模型lsim.在模拟离散时间模型时,设置Ts等于采样时间Ts的模型。
生成的信号,作为长度相同的列向量返回t.信号的形状是由类型.信号具有单位振幅,其基线为0。
时间向量,作为该形式的列向量返回0: Ts: Tf.如果不指定持续时间特遣部队,然后gensig使用Tf = 5 *τ.如果不指定时间步长Ts,然后gensig使用τ/ 64.
Tf = 5 *
之前介绍过的R2006a
lsim|lsiminfo|lsimplot
您有了这个示例的修改版本。您想用您的编辑打开这个示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处