主要内容

一步

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

描述

阶跃响应图

实例

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

实例

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

实例

台阶(sys,T)在您在向量中指定的“时间”处绘制阶跃响应T

实例

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

实例

台阶(sys1,LineSpec1、……sysN,LineSpecN,___)为图中的每个系统指定颜色、线条样式和标记。您可以使用LineSpec使用任何以前的输入参数组合。当需要其他打印自定义选项时,请使用阶梯图相反

实例

台阶(___,选择)指定计算阶跃响应的附加选项,如阶跃振幅或输入偏移量。使用stepDataOptions创建选项集的步骤选择.你可以用选择使用前面的任何输入参数和输出参数组合。

阶跃响应数据

实例

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

[Y,吹捧] =步骤(sys)也返回一个时间向量吹捧对应于Y.如果您不提供输入向量T次,一步的长度和时间步长吹捧基于系统动力学。

[Y,吹捧] =步骤(sys,最终)计算直至结束时间的阶跃响应最终一步选择的时间步长吹捧基于系统动力学。

[Y,T,x] =步骤(sys)也返回状态轨迹x,当sys是一个状态空间模型,例如党卫军智能决策支持系统模型。

实例

[Y,T,x,ysd] =步骤(sys)同时计算标准差ysd阶跃响应Y,当sys是一个已识别的模型,例如智能决策支持系统,idtf,或idnlarx模型。

实例

[___] =步骤(___,选择)指定计算阶跃响应的附加选项,如阶跃振幅或输入偏移量。使用stepDataOptions创建选项集的步骤选择.你可以用选择使用前面的任何输入参数和输出参数组合。

例子

全部折叠

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

sys ( s ) = 4. s 2. + 2. s + 10

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

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

绘制阶跃响应。

步骤(系统)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示sys。

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

绘制离散时间系统的阶跃响应。系统的采样时间为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);步骤(系统)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示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)连续时间零/钢管/增益模型。
步骤(系统)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示sys。

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

步骤(sys, 15)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示sys。

或者,您可以指定要检查阶跃响应的确切时间,前提是它们之间用常数间隔分隔。例如,检测从暂态结束到系统达到稳态的响应。

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

图中包含一个坐标轴。轴包含一个线型对象。该对象表示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个轴。在(1)中包含一个类型为line的对象。该对象表示sys。在(2)中包含一个类型为line的对象。该对象表示sys。

左图显示第一个输入通道的阶跃响应,右图显示第二个输入通道的阶跃响应一步要绘制MIMO模型的响应,它会生成一系列表示该模型所有I/O通道的图。例如,创建一个具有五个状态、三个输入和两个输出的随机状态空间模型,并绘制其阶跃响应。

sys=rss(5,2,3);步骤(sys)

图中包含6个轴。在(1)中包含一个类型为line的对象。该对象表示sys。Axes 2包含一个类型为line的对象。该对象表示sys。在(2)中包含一个类型为line的对象。该对象表示sys。Axes 4包含一个类型为line的对象。该对象表示sys。在(3)中包含一个类型为line的对象。 This object represents sys. Axes 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”,“位置”,“东南”)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表PI, PID。

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

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

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表PI, PID。

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

示例比较多个系统的响应显示了如何在单个轴上绘制几个独立系统的响应。当你有多个动态系统排列在一个模型数组中,一步同时策划他们所有的反应。

创建一个模型数组。对于这个例子,使用具有不同固有频率的二阶传递函数的一维数组。首先,为模型数组预分配内存。下面的命令创建一行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]);终止

(有关模型阵列以及如何创建模型阵列的详细信息,请参见模型阵列.)绘制数组中所有模型的阶跃响应。

步骤(系统)

图中包含一个轴。该轴包含5个line类型的对象。该对象表示系统。

一步对数组中所有条目的响应使用相同的线型。区分条目的一种方法是使用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=step(sys,t);size(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=step(sys,t);size(y)
ans =1×3200 1 2

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

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

图中包含一个坐标轴。轴包含一个线型对象。

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

s =特遣部队('s');G=exp(-s)*(0.8*s^2+s+2)/(s^2+s);sys=反馈(ss(G),1);步骤(sys)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示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)

图中包含一个坐标轴。轴包含一个线型对象。该对象表示sys。

对于任意输入信号的响应,使用大规模集成电路

比较一个参数识别模型和一个非参数(经验)模型的阶跃响应。也看他们的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,g:'t y2-3 * ysd2g:')

图中包含一个坐标轴。轴线包含6个线型对象。

计算已识别时间序列模型的阶跃响应。

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

加载数据。

负载iddata9;

估计一个时间序列模型。

Sys = ar(z9, 4);

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

绘制阶跃响应。

步骤(系统)

图中包含轴。标题为的轴来自:e@y1To:y1包含类型为line的对象。此对象表示sys。

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

加载数据。

负载iddata2z2;

估计一个非线性ARX模型。

Nlsys = nlarx(z2,[4 3 10],“树”,“自定义”,{“罪(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 =步骤(nlsys, t, opt);

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

绘制线性系统的阶跃响应。

opt=stepDataOptions;opt.stepamparium=0.1;yl=step(sys,t,opt);

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

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

图中包含一个坐标轴。轴线包含2个线型对象。这些对象表示非线性,线性和偏移。

输入参数

全部折叠

动态系统,指定为SISO或MIMO动态系统模型或动态系统模型阵列。你可以使用的动态系统包括:

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

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

    • 对于可调控制设计块,函数根据绘图和返回响应数据的当前值评估模型。

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

  • 稀疏状态空间模型,例如斯巴斯机械模型。

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

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

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

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

  • 对于连续时间系统,该函数根据系统动力学自动确定步长和点数。表达最终以系统时间单位表示,在TimeUnit性质sys

  • 对于离散时间系统,函数使用的采样时间为sys作为步长。表达最终以系统时间单位表示,在TimeUnit性质sys

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

计算阶跃响应的时间向量,指定为一个正标量值的向量。表达T以系统时间单位表示,在TimeUnit性质sys

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

  • 对于离散时间模型,指定T在形式上Ti:Ts:Tf,在那里Ts样品时间是sys

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

行样式、标记和颜色,指定为一个、两个或三个字符的字符串或向量。字符可以以任何顺序出现。您不需要指定所有这三个特征(线条样式、标记和颜色)。例如,如果省略行样式并指定标记,那么图只显示标记而不显示行。有关配置此参数的详细信息,请参阅LineSpec输入参数情节作用

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

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

例子:“y”指定黄线

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

输出参数

全部折叠

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

  • 对于输出系统,Y列向量的长度是否相同T(如有提供)或吹捧(如果你不提供T).

  • 对于单输入多输出系统,Y是一个矩阵,其行数等于时间样本数,列数等于输出数Jth列Y,或y (:, j),包含从输入到J输出。

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

    • N为时间样本的数量。

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

    • ν是系统输入的数量。

    因此,y(:,i,j)列向量是否包含从J输入中指定的时间输出T吹捧

计算阶跃响应的时间,作为向量返回。当您不提供特定向量时T次,一步根据系统动力学选择时间向量。时间用时间单位表示sys

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

  • N为时间样本的数量。

  • Nx是状态数。

  • ν是系统输入的数量。

因此,状态的演变响应在K第个输入由数组给出x (:,:, k).行向量x(我:k)的状态值第次时间步。

所识别模型的阶跃响应的标准偏差,返回为与Y.如果sys不包含参数协方差信息,则ysd是空的。

提示

  • 当您需要额外的情节定制选项时,请使用阶梯图相反

  • 要模拟系统对任意输入信号的响应,请使用大规模集成电路

算法

为了获得无内部延迟的连续时间模型的样本,一步将这些模型转换为状态空间模型,并使用输入上的零阶保持将它们离散化。一步根据系统动力学自动选择此离散化的采样时间,提供输入时间向量时除外T在形式上t = 0: dt: Tf.在这种情况下,一步使用dt为采样时间。得到的仿真时间步长吹捧等采样是否有间隔dt

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

参考文献

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

之前介绍过的R2006a