step
R2026b动态系统的阶跃响应
语法
描述
step 计算经过 td 个时间单位后,系统对于输入值从 U 阶跃变化到 U + dU 的阶跃响应。

其中,
t0 是仿真开始时间。
td 是阶跃延迟。
U 是基线输入值或偏置。
dU 是阶跃振幅。
默认情况下,该函数对 t0 = 0、U = 0、dU = 1 和 td = 0 应用阶跃。但是,您可以使用名称-值参量配置这些值。您还可以指定初始状态 x(t0)。如果您未指定初始状态,step 会假定系统最初处于静止状态,输入电平为 U。
[___] = step(___, 使用一个或多个名称-值参量指定响应属性。例如,Name=Value)step(sys,Bias=2) 将输入偏置设置为 2。 (自 R2026b 起)
以下名称-值参量会覆盖其他输入参量中指定的值。
示例
绘制一个离散时间系统的阶跃响应。该系统的采样时间为 0.2 秒,由以下状态空间矩阵表示。
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); step(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)
Continuous-time zero/pole/gain model.
Model Properties
step(sys)
默认情况下,step 会选择一个结束时间,在该时间处显示响应趋向的稳定状态。然而,该系统具有快速瞬态响应,基于这个时间尺度,该响应被掩盖了。为了更仔细地观察瞬态响应,请将阶跃图限制为 t = 15 秒。
step(sys,15)


您也可以指定要检查阶跃响应的确切时间,前提是这些时间之间有恒定的区间。例如,检查从瞬态结束到系统达到稳定状态的响应。
t = 20:0.2:120; step(sys,t)

尽管此图从 t = 20 开始,但 step 始终在 t = 0 处应用阶跃输入。
假设有以下二阶状态空间模型:
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
此模型有两个输入和一个输出,因此它有两个通道:从第一个输入到输出的通道,以及从第二个输入到输出的通道。每个通道都有自己的阶跃响应。
当您使用 step 时,它会计算所有通道的响应。
step(sys)
左图显示了第一个输入通道的阶跃响应,右图显示了第二个输入通道的阶跃响应。每当您使用 step 绘制 MIMO 模型的响应时,它都会生成一个绘图数组,表示该模型的所有 I/O 通道。例如,创建一个具有五个状态、三个输入和两个输出的随机状态空间模型,并绘制其阶跃响应。
sys = rss(5,2,3); step(sys)


在 MATLAB 图窗窗口中,您可以右键点击绘图并选择 I/O 选择器,将绘图限制为通道的子集。
使用 step,您可以在同一轴上绘制多个动态系统的响应。例如,将系统的闭环响应与 PI 控制器和 PID 控制器的闭环响应进行比较。创建系统的传递函数并调节控制器。
H = tf(4,[1 2 10]); C1 = pidtune(H,'PI'); C2 = pidtune(H,'PID');
形成闭环系统并绘制其阶跃响应。
sys1 = feedback(H*C1,1); sys2 = feedback(H*C2,1); step(sys1,sys2) legend('PI','PID','Location','SouthEast')

默认情况下,step 会为您绘制的每个系统选择不同的颜色。您可以使用 LineSpec 输入参量指定颜色和线型。
step(sys1,'r--',sys2,'b') legend('PI','PID','Location','SouthEast')

第一个 LineSpec 'r--' 为 PI 控制器的响应指定红色虚线。第二个 LineSpec 'b' 为 PID 控制器的响应指定蓝色实线。图例反映了所指定的颜色和线型。如需更多绘图自定义选项,请使用 stepplot。
“比较多个系统的响应”示例说明了如何在一个轴上绘制多个单独系统的响应。当有多个动态系统排列在模型数组中时,step 会同时绘制所有这些系统的响应。
创建模型数组。对于此示例,请使用具有不同固有频率的二阶传递函数的一维数组。首先,为模型数组预分配内存。以下命令会创建一个行向量,其中包含 5 个零增益 SISO 传递函数。前两个维度表示模型输出和输入。其余维度是数组维度。
sys = tf(zeros(1,1,1,5));
填充该数组。
w0 = 1.5:1:5.5; % natural frequencies zeta = 0.5; % damping constant for i = 1:length(w0) sys(:,:,1,i) = tf(w0(i)^2,[1 2*zeta*w0(i) w0(i)^2]); end
(有关模型数组以及如何创建模型数组的详细信息,请参阅Model Arrays。)绘制数组中所有模型的阶跃响应。
step(sys)

step 对数组中所有条目的响应使用相同的线型。区分各条目的一种方法是使用动态系统模型的 SamplingGrid 属性将数组中的每个条目与对应的 w0 值相关联。
sys.SamplingGrid = struct('frequency',w0);现在,当您在 MATLAB 图窗窗口中绘制响应时,您可以点击一条轨迹来查看它对应的频率值。
当您为 step 提供输出参量时,该函数会返回响应数据数组。对于 SISO 系统,响应数据以列向量形式返回,其长度等于对响应进行采样的时间点的数目。您可以提供时间点的向量 t,也可以允许 step 根据系统动态特性为您选择时间点。例如,提取 SISO 系统在 t = 0 和 t = 5 秒之间的 101 个时间点的阶跃响应。
sys = tf(4,[1 2 10]); t = 0:0.05:5; y = step(sys,t); size(y)
ans = 1×2
101 1
对于 MIMO 系统,响应数据以 N×Ny×Nu 维度的数组形式返回,其中 Ny 和 Nu 是动态系统的输出数目和输入数目。例如,假设有以下状态空间模型,它表示具有两个输入、一个输出的系统。
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
提取该系统在 t = 0 和 t = 20 秒之间的 200 个时间点的阶跃响应。
t = linspace(0,20,200); y = step(sys,t); size(y)
ans = 1×3
200 1 2
y(:,i,j) 是包含在时间 t 处从第 j 个输入到第 i 个输出的阶跃响应的列向量。例如,提取从第二个输入到输出的阶跃响应。
y12 = y(:,1,2); plot(t,y12)

创建一个具有延迟的反馈环,并绘制其阶跃响应。
s = tf("s");
G = exp(-s) * (0.8*s^2+s+2)/(s^2+s);
sys = feedback(ss(G),1);
stepplot(sys)
显示的系统阶跃响应是混沌的。具有内部延迟的系统的阶跃响应可能会表现出异常行为,例如反复跳变。此类行为是系统的一项特征,而不是软件异常。
将参数化辨识模型的阶跃响应与非参数化(经验)模型的阶跃响应进行比较。另请查看它们的 3 置信域。
加载数据。
load iddata1 z1
估计参数化模型。
sys1 = ssest(z1,4);
估计非参数化模型。
sys2 = impulseest(z1);
绘制阶跃响应以进行比较。
t = (0:0.1:10)'; [y1, ~, ~, ysd1] = step(sys1,t); [y2, ~, ~, ysd2] = step(sys2,t); plot(t, y1, 'b', t, y1+3*ysd1, 'b:', t, y1-3*ysd1, 'b:') hold on plot(t, y2, 'g', t, y2+3*ysd2, 'g:', t, y2-3*ysd2, 'g:')

计算辨识时间序列模型的阶跃响应。
时间序列模型,也称为信号模型,是一种没有测量输入信号的模型。这种模型的阶跃图使用其(未经测量的)噪声通道作为应用阶跃信号的输入通道。
加载数据。
load iddata9;估计时间序列模型。
sys = ar(z9, 4);
sys 是 A y(t) = e(t) 形式的模型,其中 e(t) 表示噪声通道。对于阶跃响应的计算,e(t) 被视为输入通道,并被命名为 e@y1。
绘制阶跃响应。
step(sys)

通过比较线性模型和非线性模型的小振幅阶跃响应来验证非线性 ARX 模型的线性化。
加载数据。
load iddata2 z2;
估计非线性 ARX 模型。
nlsys = nlarx(z2,[4 3 10],idTreePartition,"custom",... ["sin(y1(t-2)*u1(t))+y1(t-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,"steady",1);
y0 = r.SignalLevels.Output;获得 nlsys 在此工作点处的线性逼近。
sys = linearize(nlsys,u0,X);
通过将 sys 的小振幅阶跃响应与 nlsys 的小振幅阶跃响应进行比较来验证其有效性。
非线性系统 nlsys 在由 (u0,y0) 决定的均衡水平下工作。围绕此稳态引入大小为 0.1 的阶跃扰动,并计算对应的响应。
t = (0:0.1:10)'; ynl = step(nlsys,t, ... Bias=u0, ... Amplitude=0.1);
线性系统 sys 表示输入中的扰动与输出中的对应扰动之间的关系。它不知道非线性系统的均衡值。
绘制线性系统的阶跃响应。
yl = step(sys,t, ...
Amplitude=0.1);将稳态偏移量 y0 添加到线性系统的响应中,并绘制响应。
plot(t,ynl,t,yl+y0) legend("Nonlinear","Linear with offset")

计算并绘制 LPV (lpvss) 模型的阶跃响应。此示例对 fcnMaglev.m 中定义的悬浮球模型对扰动 的闭环阶跃响应进行仿真。

创建模型并将其离散化。
hmin = 0.05; hmax = 0.25; h0 = (hmin+hmax)/2; Ts = 0.01; Glpv = lpvss("h",@fcnMaglev,0,0,h0); Glpvd = c2d(Glpv,Ts,"tustin");
对 LPV 模型的三个高度值进行采样,并调节 PID 控制器。
hpid = linspace(hmin,hmax,3);
[Ga,Goffset] = sample(Glpvd,[],hpid);
wc = 50;
Ka = pidtune(Ga,"pidf",wc);
Ka.Tf = 0.01;创建增益调度 PID 控制器。
Ka.SamplingGrid = struct("h",hpid); Koffset = struct("y",{Goffset.u}); Clpv = ssInterpolant(ss(Ka),Koffset);
创建闭环模型。
CL = feedback(Glpvd*[1,Clpv],1,2,1);
CL.InputName = {'du';'href'};
CL.OutputName = "h";获取 = 的稳态电流,以计算被控对象输入处的阶跃扰动的适当大小。
[~,~,~,~,~,~,~,u0] = Glpv.DataFunction(0,h0);
计算并绘制对输入扰动和参考阶跃变化的响应。设置基线输入信号 = 0 和 = 以指定起始稳态条件。
t = 0:Ts:2; pFcn = @(k,x,u) x(1); IC = findop(CL,t(1),h0,u=[u0;h0]); stepplot(CL,t,pFcn, ... Amplitude=0.2*[u0;h0]*Ts, ... Delay=0.5, ... InitialCondition=IC) title("Current Step Disturbance and Height Step Change")

创建一个具有复系数的状态空间模型。
A = [-2-2i -2;1 0]; B = [2;0]; C = [0 0.5+2.5i]; D = 0; sys = ss(A,B,C,D);
计算系统的阶跃响应。
[y,t] = step(sys);
得到的响应数据包含复数输出值。
y
自 R2026a 起
此示例说明为何在仿真具有内部延迟的模型时,需要通过改变采样时间来进行验证。
加载该模型。
load idelayModel.mat
sys.InternalDelayans = 0.5166
计算 sys 的稳定裕度。allmargin 的结果表明闭环响应应该是不稳定的。
s = allmargin(sys)
s = struct with fields:
GainMargin: [1.3867 0.9727 10.6798 20.1934 29.4912 38.7266 47.9352 57.1304 66.3172 75.4988 84.6770 93.8527 103.0266 112.1991 121.3705 130.5412 139.7111 148.8805 158.0495 167.2181 176.3864 185.5544 194.7221 203.8897 213.0571 222.2243 … ] (1×49 double)
GMFrequency: [0.0467 5.0880 15.2373 27.3818 39.5403 51.7014 63.8635 76.0266 88.1895 100.3526 112.5158 124.6791 136.8424 149.0058 161.1692 173.3326 185.4960 197.6594 209.8229 221.9864 234.1499 246.3134 258.4768 270.6404 282.8039 … ] (1×49 double)
PhaseMargin: [36.6926 -142.9664 113.4224 37.7140 -6.4674]
PMFrequency: [0.0250 0.2899 0.8836 4.8597 5.1320]
DelayMargin: [25.6083 13.0665 2.2403 0.1354 -0.0220]
DMFrequency: [0.0250 0.2899 0.8836 4.8597 5.1320]
Stable: 0
当您使用默认步长对闭环响应进行仿真时,响应表现为稳定。
cl = feedback(sys,1); figure step(cl)

然而,当您减小步长时,响应呈现不稳定性。
figure step(cl,0:1e-2:500)

为判断所选时间步长是否足够小,可通过改变步长来比较连续模型与离散化模型的频率响应。
sysd1_cl = c2d(cl,0.4,'zoh');Warning: Discretization is only approximate due to internal delays. Use faster sampling rate if discretization error is large.
sysd2_cl = c2d(cl,0.01,'zoh');Warning: Discretization is only approximate due to internal delays. Use faster sampling rate if discretization error is large.
figure bodeplot(cl,sysd1_cl,sysd2_cl) legend("Continuous","Discrete (Ts = 0.4)","Discrete (Ts = 0.01)")

采样速率较慢将无法完整捕获谐振特性。由于具有内部延迟的模型仿真基于逼近离散化,因此您必须通过比较频域中的连续响应与离散响应来验证所选步长是否足够小。
输入参数
动态系统,指定为 SISO 或 MIMO 动态系统模型或动态系统模型数组。您可以使用以下类型的动态系统:
连续时间或离散时间数值 LTI 模型,如
tf、zpk或ss模型。广义或不确定的 LTI 模型,如
genss或uss模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)对于可调控制设计模块,该函数在绘图和返回响应数据时,都会根据其当前值评估模型。
对于不确定的控制设计模块,该函数绘制模型的标称值和随机样本。使用输出参量时,该函数仅返回标称模型的响应数据。
稀疏状态空间模型,如
sparss和mechss模型。辨识的 LTI 模型,如
idtf、idss或idproc模型。对于此类模型,该函数还可以绘制置信区间并返回频率响应的标准差。请参阅具有置信域的辨识模型的阶跃响应。(使用辨识模型需要 System Identification Toolbox 软件。)
该函数不支持频率响应数据模型,如 frd、genfrd 或 idfrd 模型。
如果 sys 是模型数组,该函数会在同一坐标区中绘制数组中所有模型的响应。请参阅模型数组中系统的阶跃响应。
要计算响应的时间步,指定为以下值之一:
正标量
tFinal- 计算从t = 0到t = tFinal的响应。二元素向量
[t0 tFinal]- 计算从t = t0到t = tFinal的响应。 (自 R2023b 起)向量
Ti:dt:Tf- 计算t中指定的时间点的响应。对于连续时间系统,
dt是连续系统的离散逼近的采样时间。对于具有指定采样时间的离散时间系统,
dt必须与sys的采样时间属性Ts匹配。对于未指定采样时间 (
Ts = -1) 的离散时间系统,dt必须为1。
[]- 根据系统动态特性自动选择时间值。
当您使用 tFinal 或 [t0 tFinal] 指定时间范围时:
对于连续时间系统,该函数根据系统动态特性自动确定时间步的大小和点数。
对于具有指定采样时间的离散时间系统,该函数使用
sys的采样时间作为步长。对于未指定采样时间 (
Ts = -1) 的离散时间系统,该函数将tFinal解释为采样时间为 1 秒时要仿真的采样周期数。
使用 sys 的 TimeUnit 属性中指定的时间单位表示 t。
在 R2026a 之前的版本中: 使用 Responses.SourceData.TimeSpec 属性指定时间值。
在 R2026b 之前的版本中: 此属性称为 TimeSpec。
LPV 模型的参数轨迹,指定为矩阵或函数句柄。
对于外生轨迹或显式轨迹,将
p指定为维度为 N×Np 的矩阵,其中 N 是时间采样的数目,Np 是参数的数目。因此,行向量
p(i,:)包含第 i 个时间步处的参数值。对于内生轨迹或隐式轨迹,在连续时间内将
p指定为 p = F(t,x,u) 形式的函数句柄,在离散时间内将其指定为 p = F(k,x,u) 形式的函数句柄,从而将参数作为时间 t 或时间采样 k、状态 x 和输入 u 的函数提供。当您想要对准 LPV 模型进行仿真时,此选项非常有用。有关示例,请参阅 LPV 模型的阶跃响应。
名称-值参数
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
示例: step(sys,Bias=2) 将输入偏置设置为 2。
自 R2026b 起
要计算响应的时间步,指定为以下值之一。使用名称-值参量指定时间值会覆盖使用 t 指定的时间值。
正标量
tFinal- 计算从t = 0到t = tFinal的响应。二元素向量
[t0 tFinal]- 计算从t = t0到t = tFinal的响应。向量
Ti:dt:Tf- 计算t中指定的时间点的响应。对于连续时间系统,
dt是连续系统的离散逼近的采样时间。对于具有指定采样时间的离散时间系统,
dt必须与sys的采样时间属性Ts匹配。对于未指定采样时间 (
Ts = -1) 的离散时间系统,dt必须为1。
[]- 根据系统动态特性自动选择时间值。
当您使用 tFinal 或 [t0 tFinal] 指定时间范围时:
对于连续时间系统,该函数根据系统动态特性自动确定时间步的大小和点数。
对于具有指定采样时间的离散时间系统,该函数使用
sys的采样时间作为步长。对于未指定采样时间 (
Ts = -1) 的离散时间系统,该函数将tFinal解释为采样时间为 1 秒时要仿真的采样周期数。
使用 sys 的 TimeUnit 属性中指定的时间单位表示 Time。
自 R2026b 起
LPV 模型的参数轨迹,指定为矩阵或函数句柄。使用名称-值参量指定参数值会覆盖使用 p 指定的参数值。
对于外生轨迹或显式轨迹,将
Parameter指定为维度为 N×Np 的矩阵,其中 N 是时间采样的数目,Np 是参数的数目。因此,行向量
p(i,:)包含第 i 个时间步处的参数值。对于内生轨迹或隐式轨迹,在连续时间下将
Parameter指定为 p = F(t,x,u) 形式的函数句柄,在离散时间下将其指定为 p = F(k,x,u) 形式的函数句柄,从而将参数作为时间 t 或时间采样 k、状态 x 和输入 u 的函数提供。对于隐式轨迹,必须指定仿真的初始条件。当您想要对准 LPV 模型进行仿真时,此选项非常有用。
自 R2026b 起
相对于输入信号偏置的输入电平变化,指定为标量或向量。
对于单输入系统,
Amplitude是一个标量值。对于多输入系统,
Amplitude是长度为 N u 的向量,其中 N u 是输入通道数。每个向量值对应于该输入通道中的电平变化幅度。函数一次计算一个输入通道的响应。
复数支持: 是
自 R2026b 起
基线输入信号值,指定为标量或向量。
对于单输入系统,
Bias是一个标量值。对于多输入系统,
Bias是长度为 N u 的向量,其中 N u 是输入通道数。每个向量值对应于该输入通道中的信号值。函数一次计算一个输入通道的响应。对于具有偏移量的状态空间模型,设置
Bias="u0",以便相对于 LTV 模型的模型偏移量 u 0、u 0(t) 或 LPV 模型的模型偏移量 u 0(t,p) 施加阶跃或冲激变化。对于 LTV 和 LPV 模型,这是数据函数的u0输出。总输入信号则为 u 0 + u(t)。
自 R2026b 起
输入信号延迟,指定为非负标量值。该值指定了相对于仿真开始时间 T 0 的变化发生时间。
自 R2026b 起
初始条件,指定为以下值之一:
[]- 从Bias中指定的输入值对应的稳态条件开始仿真。对于不含内部延迟的状态空间模型,初始状态 xinit 是下式的解,其中 U 为Bias值:连续时间 - 0 = A xinit + B U
离散时间 - xinit = A xinit + B U
初始状态值向量,其长度等于模型中的状态数 - 从指定的初始状态开始仿真,并使用
Bias作为初始输入值。"x0"- 使用Bias作为初始输入值,并计算状态偏移值:对于状态空间模型为 x 0,对于 LTV 模型为 x 0(T 0),对于 LPV 模型为 x 0(T 0,p(T 0))。对于 LTV 和 LPV 模型,状态偏移值是数据函数在 t = T 0 处求得的x0输出。用于辨识模型的
initialCondition(System Identification Toolbox) 对象(需要 System Identification Toolbox 软件) - 从指定的初始状态开始仿真,并使用Bias作为初始输入值。使用
findop创建的工况 - 通过工作点对象,您可以从具有非零过去 u、w 和 y 值的稳态工况开始仿真。当您指定工作点对象时,Bias的值将被忽略。
输出参量
阶跃响应数据,以数组形式返回。
对于单输入、多输出系统,
y是行数与时间采样数相同、列数与输出数相同的矩阵。因此,y的第 j 列或y(:,j)包含从输入到第 j 个输出的阶跃响应。对于 MIMO 系统,每个输入通道的阶跃响应沿
y的第三维度堆叠。因此y的维度为 N×Ny×Nu,其中:N 是时间采样的数目。
Ny 是系统输出的数目。
Nu 是系统输入的数目。
因此,
y(:,i,j)是包含在t或tOut中指定的时间处从第 j 个输入到第 i 个输出的阶跃响应的列向量。对于具有复系数的系统,
y是复数值数组。 (自 R2025a 起)
提示
算法
为了获得没有内部延迟的连续时间模型的样本,step 将此类模型转换为状态空间模型,并通过对输入使用零阶保持使这些模型离散化。step 根据系统动态特性自动选择此离散化的采样时间,除非您以 t = T0:dt:Tf 形式提供输入时间向量 t。在这种情况下,step 使用 dt 作为采样时间。生成的仿真时间步 tOut 是以间隔 dt 等间隔采样的。
对于具有内部延迟的系统,Control System Toolbox™ 软件使用基于逼近 c2d 离散化的仿真。随着采样时间减少,仿真的准确度会提高。有关示例,请参阅Validate Simulation Results for Models with Internal Delays。 (自 R2026a 起)
参考
[1] L.F. Shampine and P. Gahinet, "Delay-differential-algebraic equations in control theory," Applied Numerical Mathematics, Vol. 56, Issues 3–4, pp. 574–588.
版本历史记录
在 R2006a 之前推出您现在可以使用以下名称-值参量指定响应选项:
Time- 时间值Bias- 基线输入信号值Amplitude- 输入电平变化Delay- 输入信号延迟InitialCondition- 系统初始条件Parameter- LPV 模型参数轨迹
这些选项取代了使用 RespConfig 对象进行的响应配置。有关详细信息,请参阅不推荐使用 RespConfig 对象来设置响应选项。
不推荐使用 RespConfig 对象来设置响应选项。请改用 Bias、Amplitude、Delay 和 InitialCondition 名称-值参量。
下表显示了 RespConfig 的一些用法,以及如何更新您的代码以使用新的名称-值参量。其中,sysLPV 是线性参数变化模型。
| 不推荐 | 推荐 |
|---|---|
config = RespConfig( ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialState=[1 2 3]); [y,t] = step(sys,config) | [y,t] = step(sys, ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialCondition=[1 2 3]) |
config = RespConfig( ... Bias=-1, ... InitialParameter=pinit); [y,t] = step(sysLPV,t,pFcn,config) | IC = findop(sysLPV,t(1),pinit,u=-1); [y,t] = step(sysLPV,t,pFcn,InitialCondition=IC) |
对于具有状态偏移量的 LPV 系统: config = RespConfig( ... InitialState="x0", ... InitialParameter=pinit) [y,t] = step(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,x0] = sysLPV.DataFunction(t(1),pinit); [y,t] = step(sysLPV,t,pFcn,InitialCondition=x0) |
对于具有输入偏移量的 LPV 系统: config = RespConfig( ... Bias="u0", ... InitialParameter=pinit) [y,t] = step(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,~,u0] = sysLPV.DataFunction(t(1),pinit); IC = findop(sysLPV,tinit,pinit,u=u0); [y,t] = step(sysLPV,t,pFcn,InitialCondition=IC) |
从 R2025a 开始,step 函数支持具有复系数的动态系统。
对于使用 step 创建的绘图,gca 函数现在返回 stepplot 图对象,而不是绘图内的坐标区。
使用通过 RespConfig 创建的非默认配置时,某些响应特征的计算有所变化。
现在,峰值响应特性会显示与初始输出值的最大偏差。即,当 t ≥ t0 + td 时,峰值为 |y(t) – yinit|,其中 yinit 是阶跃变化前的输出值。
因此,在峰值响应数据提示中,峰值振幅已重命名为峰值偏差。
现在,稳定时间和瞬态时间是相对于阶跃变化发生的时间计算的 (t = t0 + td)。这可确保这些特性不受阶跃延迟的影响。
通常,软件从阶跃变化时开始计算响应特征,其中初始输出值 yinit 作为阶跃变化之前的值。
使用新语法 [y,tOut] = step(sys,[t0,tFinal]) 计算从时间 t0 到 tFinal 的阶跃响应。对于具有延迟 td 的配置,该函数在时间 t = t0 + td 处应用阶跃。
现在,您可以使用 Ti:dt:Tf 形式的时间向量输入为 step 命令指定非零开始时间。以前,无论 Ti 如何,该命令始终在 t = 0 处应用输入。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

