主要内容

一步

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

描述

步骤响应图

例子

步骤(sys绘制一个事件的响应动态系统模型到单位振幅的阶跃输入。该模型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]);

绘制阶跃响应。

步骤(系统)

图中包含一个轴对象。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);步骤(系统)

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

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

检查下列传递函数的阶跃响应。

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

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

默认情况下,一步选择一个显示响应趋向于的稳态的结束时间。但是,该系统具有快速瞬态,在该时间尺度上不明显。要更仔细地查看瞬态响应,请将阶跃图限制为t= 15秒。

步骤(sys,15)

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

或者,您可以指定要检查阶跃响应的确切时间,前提是它们之间有一个固定的间隔。例如,检查从瞬态结束到系统达到稳定状态的响应。

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

图中包含一个轴对象。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

A=[-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通道的图。例如,创建一个具有5个状态、3个输入和2个输出的随机状态空间模型,并绘制其阶跃响应。

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

图中包含6个轴对象。在(1)中包含一个类型为line的对象。该对象表示sys。axis对象2包含一个类型为line的对象。该对象表示sys。在(2)中包含一个类型为line的对象。该对象表示sys。axis对象4包含一个类型为line的对象。该对象表示sys。在(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=皮顿(H,“PID”);

形成闭环系统并绘制它们的阶跃响应。

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

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

默认情况下,一步为每个系统选择不同的颜色。您可以使用使用的颜色和线路样式LineSpec输入参数。

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

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

第一个LineSpec“r——”为PI控制器的响应指定一条虚线红线。第二个LineSpec“b”为PID控制器的响应指定蓝色实线。图例反映指定的颜色和线型。有关更多打印自定义选项,请使用stepplot

多个系统的比较响应示例显示了如何在一个轴上绘制多个单独系统的响应。当在模型阵列中排列多个动态系统时,一步一次绘出他们的所有反应。

创建模型数组。对于此示例,使用具有不同自然频率的二阶传输函数的一维阵列。首先,preal分配模型阵列的内存。以下命令创建一个1×5行的零增益SISO传输函数。前两个维度代表模型输出和输入。剩余尺寸是阵列尺寸。

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

填充该数组。

W0 = 1.5:1:5.5;%固有频率Zeta = 0.5;%阻尼常数i = 1:长度(w0)sys(:,:1,i)= tf(w0(i)^ 2,[1 2 * zeta * w0(i)w0(i)^ 2]);结束

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

步骤(系统)

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

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

sys.SamplingGrid=struct(“频率”,w0);

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

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

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

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

A=[-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输入泰晤士报的输出t。例如,将阶跃响应从第二个输入提取到输出。

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

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

创建具有延迟的反馈回路,并绘制其阶跃响应。

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

图中包含一个轴对象。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)

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

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

比较参数标识模型对非参数(经验)模型的步骤响应。另请查看他们的3 σ 地区的信心。

加载数据。

负载iddata1z1

估计参数模型。

sys1 = ss (z1, 4);

估计非参数模型。

sys2 =冲动(z1);

绘制比较的步骤响应。

t=(0:0.1:10);[y1,~,~,ysd1]=步骤(sys1,t);[y2,~,~,ysd2]=步骤(sys2,t);绘图(t,y1,“b”t y1 + 3 * ysd1'B:'t y1-3 * ysd1'B:')持有在…上情节(t, y2,‘g’, t, y2 + 3 * ysd2,“旅客:”,t,y2-3 * ysd2,“旅客:”

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

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

一个时序模型,也称为信号模型,是没有测量​​的输入信号的模型。该模型的步骤图使用其(未测量)噪声通道作为施加步进信号的输入信道。

加载数据。

负载iddata9

估计一个时间序列模型。

sys=ar(z9,4);

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

绘制阶跃响应。

步骤(系统)

图中包含一个轴对象。具有标题的轴对象来自:e @ y1至:y1包含类型线的对象。该对象表示sys。

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

加载数据。

负载iddata2z2

估计非线性ARX模型。

nlsys = nlarx(z2,[4 3 10],idTreePartition,“习俗”,{‘sin(y1(t-2)*u1(t))+y1(t-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 = u0;opt.StepAmplitude = 0.1;t =(0:0.1:10)';YNL =步骤(NLSYS,T,OPT);

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

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

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

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

绘图(t,ynl,t,yl+y0)图例('非线性''用偏移线'

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

输入参数

全部收缩

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

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

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

    • 对于可调控制设计块,函数将以当前值计算模型的打印和返回响应数据。

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

  • 稀疏状态空间模型如桅杆mechss模型。

  • 确定的LTI模型,例如idtf.中的难点Idroc模型。对于此类模型,该函数还可以绘制置信区间并返回频率响应的标准偏差。请参阅置信区识别模型的步骤响应(使用已识别的模型需要System Identification Toolbox™软件。)

一步不支持频率响应数据金宝app模型,如FRD.根弗里德idfrd模型。

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

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

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

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

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

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

  • 对于连续时间模型,请指定t在表单中TI:DT:TF.要在每次步骤中获取响应,则函数使用dt作为连续系统离散近似的采样时间(参见算法)。

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

一步始终在以下位置应用阶跃输入:t = 0., 不管“透明国际”

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

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

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

例子:'是'指定黄线

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

输出参数

全部收缩

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

  • 对于输出系统,y是与相同长度的列向量t(如果提供的话)吹牛(如果你不提供t)。

  • 对于单输入、多输出系统,y是一个矩阵,其行数与时间样本数相同,列数与输出数相同。因此,jth列yy (:, 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是空的。

提示

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

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

算法

为了获得无内部延迟的连续时间模型的样本,一步将此类模型转换为状态空间模型,并使用零阶保持对输入进行离散化。一步根据系统动力学自动选择离散化的采样时间,除非你提供输入时间向量t在表单中T = 0:DT:TF那样的话一步使用dt作为采样时间。由此产生的仿真时间步骤吹牛等采样是否有间隔dt

对于具有内部延迟的系统,控制系统工具箱™ 软件使用可变步长解算器。因此,时间是一步一步的吹牛不是等抽样的。

参考文献

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

在R2006A之前介绍