主要内容

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

描述

阶跃响应图

实例

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

实例

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

实例

台阶(系统,T)在向量中指定的时间绘制阶跃响应T

实例

台阶(系统1,系统2.系统N,___)在同一绘图上绘制多个动态系统的阶跃响应。所有系统必须具有相同数量的输入和输出。可以将多个动态系统与以前的任何输入参数组合一起使用。

实例

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

实例

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

阶跃响应数据

实例

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

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

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

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

实例

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

实例

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

例子

全部折叠

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

系统 ( s ) = 4. s 2. + 2. s + 10

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

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

绘制阶跃响应。

步骤(系统)

Figure包含一个axes对象。axes对象包含一个line类型的对象。该对象表示sys。

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

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

A=[1.6-0.7;10];B=[0.5;0];C=[0.10.1];D=0;

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

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

Figure包含一个axes对象。axes对象包含一个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)连续时间零/钢管/增益模型。
步骤(系统)

Figure包含一个axes对象。axes对象包含一个line类型的对象。该对象表示sys。

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

步骤(sys, 15)

Figure包含一个axes对象。axes对象包含一个line类型的对象。该对象表示sys。

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

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

Figure包含一个axes对象。axes对象包含一个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个轴对象。标题为From:In(1)的轴对象1包含line类型的对象。此对象表示系统。标题为From:In(2)的轴对象2包含line类型的对象。此对象表示系统。

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

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

图中包含6个轴对象。标题来自(1)的轴对象1包含类型为line的对象。此对象表示系统。轴对象2包含类型为line的对象。此对象表示标题来自(2)的系统。轴对象3包含line类型的对象。此对象表示系统。Axes对象4包含line类型的对象。此对象表示系统。标题为From(3)的Axes对象5包含line类型的对象。此对象表示系统。Axes对象6包含line类型的对象。此对象表示系统。

在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”,“位置”,“东南”)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表PI, PID。

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

步骤(sys1,“r——”,sys2,“b”)传奇(“圆周率”,“PID”,“位置”,“东南”)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表PI, PID。

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

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

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

sys=tf(零(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]);终止

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

步骤(系统)

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

对数组中所有条目的响应使用相同的线型。区分条目的一种方法是使用取样网格动态系统模型的属性,以将数组中的每个条目与相应的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.例如,从第二个输入提取阶跃响应到输出。

y12=y(:,1,2);绘图(t,y12)

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

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

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

Figure包含一个axes对象。axes对象包含一个line类型的对象。该对象表示sys。

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

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

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

Figure包含一个axes对象。axes对象包含一个line类型的对象。该对象表示sys。

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

比较一个参数识别模型和一个非参数(经验)模型的阶跃响应。也看他们的3 σ 信任区域。

加载数据。

负载iddata1z1

估计一个参数模型。

sys1=ssest(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:')

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

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

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

加载数据。

负载iddata9;

估计时间序列模型。

Sys = ar(z9, 4);

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

绘制阶跃响应。

步骤(系统)

图中包含一个轴对象。标题为“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) ',‘y1(t-5)*y1(t-5)*y1(t-1)’},“nlr”[1:5, 7 9]);

确定设备的平衡工作点nlsys对应于稳态输入值为1。

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

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

sys=线性化(nlsys,u0,X);

验证系统通过比较其小振幅阶跃响应与nlsys

非线性系统nlsys在平衡水平上运行,由(u0,y0).引入关于该稳态的0.1阶跃扰动,并计算相应的响应。

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

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

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

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

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

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

图形包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示非线性、线性和偏移。

输入参数

全部折叠

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

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

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

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

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

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

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

不支持频率响应数据金宝app模型,例如的朋友,genfrd,或以色列国防军模型。

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

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

  • 对于连续时间系统,该函数根据system dynamics.Express自动确定步长和点数最终以系统时间单位表示,在TimeUnit性质系统

  • 对于离散时间系统,函数使用系统与步长一样快最终以系统时间单位表示,在TimeUnit性质系统

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

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

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

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

总是应用阶跃输入t = 0,不管

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

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

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

例子:“y”指定黄线

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

输出参数

全部折叠

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

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

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

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

    • N为时间样本的数量。

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

    • ν是系统输入的数量。

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

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

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

  • N为时间样本的数量。

  • Nx是州数。

  • ν是系统输入的数量。

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

已识别模型阶跃响应的标准偏差,作为与模型相同维度的数组返回Y. 如果系统不包含参数协方差信息,则ysd是空的。

提示

  • 当需要其他打印自定义选项时,请使用阶梯图相反

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

算法

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

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

工具书类

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

之前介绍过的R2006a