主要内容

一步

动态系统的阶跃响应图;阶跃响应数据

描述

阶跃响应图

例子

步骤(sys绘制a的响应动态系统模型到单位振幅的阶跃输入。该模型sys可以是连续时间或离散时间,也可以是SISO或MIMO。对于MIMO系统,该图显示了每个I/O通道的步长响应。一步根据系统动力学自动确定仿真的时间步长和持续时间。

例子

步骤(systFinal模拟的阶跃响应t = 0直到最后一刻t = tFinal.该函数使用系统动力学来确定中间时间步长。

例子

步骤(syst绘制在向量中指定的时间点的阶跃响应t

例子

步骤(sys1,sys2……sysN,___在同一图上绘制多个动态系统的阶跃响应。所有系统必须有相同数量的输入和输出。您可以使用前面的任何输入参数组合使用多个动态系统。

例子

步骤(sys1,LineSpec1、……sysN,LineSpecN,___为图中的每个系统指定颜色、线条样式和标记。您可以使用LineSpec使用前面的任何输入参数组合。当你需要额外的情节定制选项时,使用stepplot代替。

例子

步骤(___选择指定用于计算阶跃响应的其他选项,例如阶跃振幅或输入偏移量。使用stepDataOptions创建选项集选择.您可以使用选择任何先前的输入参数和输出参数组合。

阶跃响应数据

例子

y=步骤(syst返回动态系统模型的阶跃响应sys在向量中指定的时间t.此语法不绘制图形。

y吹捧] =步骤(sys也返回一个乘以的向量吹捧对应于中的响应y.如果不提供输入向量t次,一步选择的长度和时间步长吹捧基于系统动力学。

y吹捧] =步骤(systFinal计算到结束时间的步长响应tFinal一步选择的时间步长吹捧基于系统动力学。

ytx] =步骤(sys也返回状态轨迹x,当sys状态空间模型是否如党卫军中的难点模型。

例子

ytxysd] =步骤(sys并计算了标准差ysd阶跃响应y,当sys确定的模型是否如中的难点idtf,或idnlarx模型。

例子

___] =步骤(___选择指定用于计算阶跃响应的其他选项,例如阶跃振幅或输入偏移量。使用stepDataOptions创建选项集选择.您可以使用选择任何先前的输入参数和输出参数组合。

例子

全部折叠

绘制由下列传递函数表示的连续时间系统的阶跃响应。

sys 年代 4 年代 2 + 2 年代 + 10

对于本例,创建一个特遣部队表示传递函数的模型。你可以类似地绘制其他动态系统模型类型的阶跃响应,例如零极增益(zpk)或状态空间(党卫军)模型。

Sys = tf(4,[1 2 10]);

画出阶跃响应。

步骤(系统)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

一步图中自动包含一条表示稳态响应的虚线。在MATLAB®图形窗口中,您可以右键单击图,查看其他阶跃响应特征,如峰值响应和稳定时间。有关这些特性的更多信息,请参见stepinfo

画一个离散时间系统的阶跃响应。该系统的采样时间为0.2 s,由以下状态空间矩阵表示。

A = [1.6 -0.7;1 0];B = (0.5;0);C = [0.1 0.1];D = 0;

创建状态空间模型并绘制其步进响应。

sys = ss (A, B, C, D, 0.2);步骤(系统)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

阶跃响应反映了模型的离散化,显示了每0.2秒计算的响应。

检验下面传递函数的阶跃响应。

sys = zpk (1, (-0.2 + 3 j, -0.2 3 j], 1) *特遣部队([1],0.05 [1])
sys = (s + 1) ^ 2  ---------------------------- ( s + 0.05) (s ^ 2 + 0.4 + 9.04)连续时间零/钢管/增益模型。
步骤(系统)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

默认情况下,一步选择一个结束时间,以显示响应趋向于的稳定状态。然而,这个系统有快速瞬变,在这个时间尺度上是模糊的。为了更仔细地观察瞬态响应,将阶跃图限制为t= 15秒。

步骤(sys, 15)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

或者,您可以指定想要检查步长响应的确切时间,前提是它们被一个恒定的间隔隔开。例如,检查从暂态结束到系统达到稳态的响应。

t = 20:0.2:120;步骤(sys, t)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

尽管这个情节开始于t= 20,一步总是应用步进输入在t= 0。

考虑下面的二阶状态空间模型:

x ˙ 1 x ˙ 2 - 0 5 5 7 2 - 0 7 8 1 4 0 7 8 1 4 0 x 1 x 2 + 1 - 1 0 2 u 1 u 2 y 1 9 6 9 1 6 4 4 9 3. x 1 x 2

一个= (-0.5572,-0.7814,0.7814,0);B = (1, - 1, 0, 2);C = [1.9691, 6.4493];sys = ss (A, B, C, 0);

这个模型有两个输入和一个输出,所以它有两个通道:从第一个输入到输出,从第二个输入到输出。每个通道都有自己的阶跃响应。

当你使用一步,计算所有通道的响应。

步骤(系统)

图中包含2个轴对象。In(1)包含一个类型为line的对象。该节点表示sys。In(2)包含一个类型为line的对象。该节点表示sys。

左边的图显示了第一个输入通道的阶跃响应,右边的图显示了第二个输入通道的阶跃响应。每当你使用一步为了绘制MIMO模型的响应,它生成一个表示模型的所有I/O通道的绘图数组。例如,创建一个具有五个状态、三个输入和两个输出的随机状态空间模型,并绘制其阶跃响应。

sys = rss(5、2、3);步骤(系统)

图中包含6个轴对象。In(1)包含一个类型为line的对象。该节点表示sys。Axes对象2包含一个类型为line的对象。该节点表示sys。In(2)包含一个类型为line的对象。该节点表示sys。Axes对象4包含一个line类型的对象。该节点表示sys。In(3)包含一个类型为line的对象。 This object represents sys. Axes object 6 contains an object of type line. This object represents sys.

在MATLAB图形窗口中,通过右键单击并选择,可以将图形限制为通道的子集I / O选择器

一步允许您在同一轴上绘制多个动态系统的响应图。例如,比较PI控制器和PID控制器下系统的闭环响应。创建系统的传递函数并调优控制器。

H = tf(4,[1 2 10]);C1 = pidtune (H,“π”);C2 = pidtune (H,“PID”);

建立闭环系统并绘制其阶跃响应。

sys1 =反馈(H * C1, 1);sys2 =反馈(H * C2, 1);步骤(sys1 sys2)传说(“π”“PID”“位置”“东南”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示PI和PID。

默认情况下,一步为您绘制的每个系统选择不同的颜色。方法可以指定颜色和线条样式LineSpec输入参数。

步骤(sys1,“r——”sys2,“b”)传说(“π”“PID”“位置”“东南”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示PI和PID。

第一个LineSpec“r——”为PI控制器的响应指定一条红色虚线。第二个LineSpec“b”为PID控制器的响应指定一条蓝色实线。图例反映了指定的颜色和线条样式。如需更多情节定制选项,请使用stepplot

比较多个系统的响应示例展示了如何在一个轴上绘制几个单独系统的响应。当你将多个动态系统排列在一个模型数组中时,一步把他们的反应画出来。

创建一个模型数组。对于本例,使用具有不同固有频率的二阶传递函数的一维数组。首先,为模型数组预分配内存。下面的命令创建一个1乘5的零增益SISO传输函数行。前两个维度表示模型的输出和输入。其余的尺寸是数组尺寸。

sys =特遣部队(0 (1,1,1,5));

填充该数组。

w0 = 1.5:1:5.5;%固有频率ζ= 0.5;%阻尼常数i = 1:长度(w0)系统(:,:,1,我)=特遣部队(w0 (i) ^ 2,[1 2 *ζ* w0 (i) w0 (i) ^ 2]);结束

(有关模型数组和如何创建它们的更多信息,请参见模型阵列)。在数组中绘制所有模型的阶跃响应。

步骤(系统)

图中包含一个axes对象。axis对象包含5个类型为line的对象。该节点表示sys。

一步对数组中所有条目的响应使用相同的行样式。区分条目的一种方法是使用SamplingGrid属性将数组中的每个条目与相应的w0价值。

sys。SamplingGrid =结构(“频率”, w0);

现在,当您在MATLAB图形窗口中绘制响应时,您可以单击一个跟踪来查看它对应的频率值。

当你给它一个输出参数时,一步返回响应数据数组。对于SISO系统,响应数据作为长度等于响应采样时间点数量的列向量返回。你可以提供时间点的向量t,或者允许一步根据系统动力学为您选择时间点。例如,提取一个SISO系统在101个时间点之间的阶跃响应t= 0和t= 5 s。

Sys = tf(4,[1 2 10]);t = 0:0.05:5;y =步骤(sys, t);大小(y)
ans =1×2101年1

对于MIMO系统,响应数据以一个维度数组的形式返回N——- - - - - -纽约——- - - - - -ν,在那里纽约而且ν是动态系统的输出和输入的数量。例如,考虑下面的状态空间模型,它表示一个双输入、一输出系统。

一个= (-0.5572,-0.7814,0.7814,0);B = (1, - 1, 0, 2);C = [1.9691, 6.4493];sys = ss (A, B, C, 0);

提取系统之间200个时间点的阶跃响应t= 0和t= 20多岁。

t = linspace (0, 20200);y =步骤(sys, t);大小(y)
ans =1×3200 1 2

y (:, i, j)的阶跃响应的列向量j的Th输入泰晤士报的输出t.例如,提取从第二个输入到输出的阶跃响应。

日元= y (:, 1, 2);情节(t,日元)

图中包含一个axes对象。axis对象包含一个类型为line的对象。

创建一个有延迟的反馈循环,并绘制其步进响应。

s =特遣部队(“年代”);G = exp(-s) * (0.8*s²+s+2)/(s²+s);sys =反馈(ss (G), 1);步骤(系统)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

系统步长响应显示混乱。具有内部延迟的系统的阶跃响应可能表现出奇怪的行为,如重复跳跃。这样的行为是系统的特性,而不是软件异常。

默认情况下,一步应用从0到1的输入信号t= 0。要自定义振幅和偏移量,请使用stepDataOptions.例如,计算一个SISO状态空间模型对从1到-1到at的信号的响应t= 0。

A = [1.6 -0.7;1 0];B = (0.5;0);C = [0.1 0.1];D = 0;sys = ss (A, B, C, D, 0.2);选择= stepDataOptions;opt.InputOffset = 1;opt.StepAmplitude = 2; step(sys,opt)

图中包含一个axes对象。axis对象包含一个类型为line的对象。该节点表示sys。

对于任意输入信号的响应,使用lsim

比较一个参数识别模型的阶跃响应与一个非参数(经验)模型。也可以查看他们的3 σ 地区的信心。

加载数据。

负载iddata1z1

估计一个参数模型。

sys1 = ss (z1, 4);

估计一个非参数模型。

sys2 =冲动(z1);

绘制步长响应图进行比较。

t =(0:0.1:10)”;[y1, ~, ~, ysd1] = step(sys1,t);[y2, ~, ~, ysd2] = step(sys2,t);情节(t, y1,“b”t y1 + 3 * ysd1”乙:“t y1-3 * ysd1”乙:“)举行情节(t, y2,‘g’, t, y2 + 3 * ysd2,“旅客:”t y2-3 * ysd2“旅客:”

图中包含一个axes对象。axis对象包含6个类型为line的对象。

计算一个确定的时间序列模型的阶跃响应。

时间序列模型,也称为信号模型,是一种没有测量输入信号的模型。该模型的阶跃图使用其(未测)噪声通道作为阶跃信号的输入通道。

加载数据。

负载iddata9

估计一个时间序列模型。

系统= ar(z9, 4);

sys是模型的形式吗A y(t) = e(t),在那里e (t)表示噪声通道。对于阶跃响应的计算,e (t)被视为输入通道,并被命名为e@y1

画出阶跃响应。

步骤(系统)

图中包含一个axes对象。标题为From: e@y1 To: y1的axes对象包含一个类型为line的对象。该节点表示sys。

通过比较线性和非线性模型的小振幅阶跃响应,验证非线性ARX模型的线性化。

加载数据。

负载iddata2z2

估计一个非线性ARX模型。

nlsys = nlarx(z2,[4 3 10],idTreePartition,“自定义”...“罪(y1 (2) * u1 (t)) + y₁(2)* u1 (t) + u1 (t)。* u1 (t-13) '...“日元(t-5) * y1 (t-5) * (t - 1)”},“nlr”[1:5, 7 9]);

确定一个平衡操作点nlsys对应于稳态输入值1。

情况= 1;[X, ~, r] = findop (nlsys,“稳定”1);y0 = r.SignalLevels.Output;

的线性近似nlsys在这个操作点。

sys =线性化(nlsys情况X);

验证sys通过对其小振幅阶跃响应的比较nlsys

非线性系统nlsys在平衡水平上的运作是由(y0情况).引入一个0.1大小的阶跃扰动,并计算相应的响应。

选择= stepDataOptions;opt.InputOffset =情况;opt.StepAmplitude = 0.1;t =(0:0.1:10)”;Ynl = step(nlsys, t, opt);

线性系统sys表示输入的扰动与输出的相应扰动之间的关系。它不知道非线性系统的平衡值。

画出线性系统的阶跃响应。

选择= stepDataOptions;opt.StepAmplitude = 0.1;Yl = step(sys, t, opt);

加上稳态偏移量,y0,求线性系统的响应,并绘制响应图。

Plot (t, ynl, t, yl+y0)“非线性”的线性补偿的

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示非线性,线性与偏移量。

输入参数

全部折叠

动态系统,指定为SISO或MIMO动态系统模型或动态系统模型的数组。您可以使用的动态系统包括:

  • 连续时间或离散时间的数值LTI模型,例如特遣部队zpk,或党卫军模型。

  • 广义的或不确定的LTI模型,例如一族号航空母舰模型。(使用不确定模型需要鲁棒控制工具箱™软件。)

    • 对于可调控制设计块,该函数在绘制和返回响应数据时对模型的当前值进行计算。

    • 对于不确定的控制设计块,该函数绘制模型的标称值和随机样本。当使用输出参数时,函数只返回名义模型的响应数据。

  • 稀疏状态空间模型,例如桅杆而且mechss模型。

  • 确定LTI模型,例如idtf中的难点,或idproc模型。对于这样的模型,函数还可以绘制置信区间并返回频率响应的标准差。看到具有置信区域的识别模型的阶跃响应(使用识别的模型需要系统识别工具箱™软件。)

一步不支持频率响应数据模型,例如的朋友genfrd,或idfrd模型。

如果sys是一个模型的数组,函数在相同的轴上绘制数组中所有模型的响应。看到模型阵列中系统的阶跃响应

步骤响应的结束时间,指定为正标量值。一步模拟的阶跃响应t = 0t =tFinal

  • 对于连续时间系统,该函数从系统动力学自动确定步长和点数。表达tFinal中指定的系统时间单位TimeUnit的属性sys

  • 对于离散时间系统,函数使用的采样时间sys步长。表达tFinal中指定的系统时间单位TimeUnit的属性sys

  • 对于样本时间不确定的离散时间系统(Ts = 1),一步解释tFinal作为要模拟的采样周期的数目。

计算阶跃响应的时间向量,指定为正标量值的向量。表达t中指定的系统时间单位TimeUnit的属性sys

  • 对于连续时间模型,指定t在表单中Ti: dt: Tf.为了获得每个时间步的响应,函数使用dt作为离散逼近连续系统的采样时间(见算法).

  • 对于离散时间模型,指定t在表单中Ti: Ts: Tf,在那里Ts样品时间是sys

一步总是应用步进输入在t = 0,不管“透明国际”

线样式、标记和颜色,指定为字符串或一个、两个或三个字符的向量。字符可以以任何顺序出现。您不需要指定所有三个特征(线条样式、记号笔和颜色)。例如,如果省略线条样式并指定标记,则绘图只显示标记而不显示直线。有关配置此参数的更多信息,请参见LineSpec的输入参数情节函数。

例子:“r——”指定一个红色虚线

例子:‘* b”指定蓝色星号标记

例子:“y”指定一条黄线

所应用阶跃信号的输入偏移量和振幅,指定为astepDataOptions选项设置。默认情况下,一步应用时刻从0到1的输入t = 0.使用这个input参数可以更改步进输入的初始值和最终值。看到响应自定义步骤输入了一个例子。

输出参数

全部折叠

步骤响应数据,作为数组返回。

  • 对于输出系统,y列向量的长度是否等于t(如果提供的话)吹捧(如果您没有提供t).

  • 对于单输入多输出系统,y是一个矩阵,其行数与时间样本数相等,列数与输出数相等。因此,jth列y,或y (:, j),包含从输入到的阶跃响应j输出。

  • 对于MIMO系统,每个输入通道的阶跃响应沿的三维叠加y.的尺寸y然后N——- - - - - -纽约——- - - - - -ν,地点:

    • N是时间样本的个数。

    • 纽约是系统输出的数量。

    • ν是系统输入的数量。

    因此,y (:, i, j)的阶跃响应的列向量j的Th输入中指定的时间的输出t吹捧

计算步长响应的时间,作为向量返回。当你没有提供一个特定的向量t次,一步根据系统动力学选择该时间向量。时间以的时间单位表示sys

状态轨迹,作为数组返回。当sys是一个状态空间模型,x的状态的演化sys在每一次t吹捧.的尺寸xN——- - - - - -Nx——- - - - - -ν,地点:

  • N是时间样本的个数。

  • Nx是状态数。

  • ν是系统输入的数量。

因此,响应注入的一个步骤的状态的演化kTh输入由数组给出x (:,:, k).行向量x(我:k)控件上的状态值时间步长。

已识别模型阶跃响应的标准偏差,作为与。相同尺寸的数组返回y.如果sys不包含参数协方差信息,那么ysd是空的。

提示

  • 当你需要额外的情节定制选项时,使用stepplot代替。

  • 要模拟系统对任意输入信号的响应,使用lsim

算法

为了获得无内部延迟的连续时间模型样本,一步将这些模型转换为状态空间模型,并使用输入上的零阶保持符对它们进行离散化。一步根据系统动态自动选择离散化的采样时间,除非你提供输入时间向量t在表单中t = 0: dt: Tf.在这种情况下,一步使用dt作为采样时间。得到的模拟时间步长吹捧与间距相等dt

对于具有内部延迟的系统,控制系统工具箱™软件使用可变步长求解器。结果,时间是阶梯式的吹捧不是equisampled。

参考文献

[1] L.F. Shampine和P. Gahinet,“控制理论中的时滞微分代数方程”应用数值数学第56卷,第3-4期,第574-588页。

版本历史

之前介绍过的R2006a

Baidu
map