主要内容

冲动

动态系统的脉冲响应图;脉冲响应数据

语法

冲动(系统)
冲动(sys Tfinal)
冲动(sys, t)
冲动(sysN sys1, sys2,…)
冲动(sys1 sys2,…,sysN Tfinal)
冲动(sysN sys1, sys2,…,t)
[y, t] =冲动(系统)
(y, t) =冲动(sys Tfinal)
y =冲动(sys, t)
(y, t, x) =冲动(系统)
[y, t, x, ysd] =冲动(系统)

描述

冲动计算a的单位脉冲响应动态系统模型对于连续时间动态系统,脉冲响应是对狄拉克输入的响应δt).对于离散时间系统,脉冲响应是对单位面积长度脉冲的响应Ts和高度1 / Ts,在那里Ts为系统的采样时间。(这个脉冲的方法δt),Ts接近零。)为状态空间模型,冲动假设初始状态值为零。

冲动(系统)绘制动态系统模型的脉冲响应sys.该模型可以是连续的或离散的,以及SISO或米姆。多输入系统的脉冲响应是每个输入通道的脉冲响应的集合。仿真的持续时间是自动确定的,以显示响应的瞬态行为。

冲动(sys Tfinal)模拟的脉冲响应t = 0直到最后一刻t = Tfinal.表达Tfinal系统时间单位,在TimeUnit的属性sys.对于采样时间未指定的离散时间系统(Ts = 1),冲动解释Tfinal为要模拟的采样周期数。

冲动(sys, t)使用用户提供的时间向量t为模拟。表达t系统时间单位,在TimeUnit的属性sys.对于离散时间模型,t应该是什么形式的Ti: Ts: Tf,在那里Ts为采样时间。对于连续时间模型,t应该是什么形式的Ti: dt: Tf,在那里dt变成连续系统的离散近似的采样时间(见算法).的冲动命令总是应用于冲动t = 0,不管“透明国际”

绘制几个模型的脉冲响应图sys1、……sysN在单个数字上,使用:

冲动(sysN sys1, sys2,…)

冲动(sys1 sys2,…,sysN Tfinal)

冲动(sysN sys1, sys2,…,t)

波德情节,您可以为每个系统指定特定的颜色、线型和/或标记,例如,

冲动(sys1 y:, sys2, g——)

参见“多系统绘图和比较”波德进入本节以获得更多细节。

当使用输出参数调用时:

[y, t] =冲动(系统)

(y, t) =冲动(sys Tfinal)

y =冲动(sys, t)

冲动返回输出响应y时间向量t用于模拟(如果不作为脉冲的参数提供)。屏幕上没有绘图。对于单输入系统,y有与时间样本一样多的行(长度t),和输出一样多的列。在多输入情况下,每个输入通道的脉冲响应沿三维叠加y.的尺寸y然后

仅对于状态空间模型:

(y, t, x) =冲动(系统)

(长度t) ×(输出数)×(输入数)

y (:,:, j)给出脉冲扰动进入时的响应j输入通道。同样的,它的尺寸x

(长度t) ×(状态数)×(输入数)

[y, t, x, ysd] =冲动(系统)返回标准差YSD的反应Y已识别系统的SYSYSD是空的,如果SYS不包含参数协方差信息。

例子

二阶状态空间模型的脉冲响应图

绘制二阶状态空间模型的脉冲响应

x ˙ 1 x ˙ 2 0.5572 0.7814 0.7814 0 x 1 x 2 + 1 1 0 2 u 1 u 2 y 1.9691 6.4493 x 1 x 2

A = [-0.5572 -0.7814;0.7814 0];B = [1 -1;0 -1];C = [1.9691 6.4493];sys = ss (a, b, c, 0);冲动(系统)

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

左边的图显示了第一个输入通道的脉冲响应,右边的图显示了第二个输入通道的脉冲响应。

可以在MATLAB中存储脉冲响应数据®数组的

[y, t] =冲动(系统);

因为这个系统有两个输入,y是有尺寸的三维阵列吗

大小(y)
ans =1×3139 1 2

第一个维度是长度t).然后访问第一个输入通道的脉冲响应

ch1 = y (:: 1);大小(ch1)
ans =1×2139年1

来自识别系统的脉冲数据

获取被识别线性系统的脉冲响应和相应的1 std不确定度。

加载(fullfile(matlabroot, 'toolbox', 'ident', 'iddemos', 'data', 'dcmotordata'));z = iddata(y, u, 0.1, 'Name', '电机');集(z,‘InputName’,‘压’,‘InputUnit’,‘V’);set(z, 'OutputName',{'角位置','角速度'});set(z, 'OutputUnit', {'rad', 'rad/s'});set(z, 'Tstart', 0, 'TimeUnit', 's');模型=特遣部队(z, 2);[y, t, ~, ysd] =脉冲(模型2);%情节3性病次要情节的不确定性(211)情节(t、y (: 1), t, y (: 1) + 3 * ysd(: 1),“凯西:”,t, y (: 1) 3 * ysd(: 1),“凯西:”)次要情节(212)情节(t、y (:, 2), t、y (:, 2) + 3 * ysd(:, 2),“凯西:”,t, y (:, 2) 3 * ysd(:, 2),“凯西:”)

限制

非零连续系统的脉冲响应D矩阵在t0冲动忽略这个不连续并返回较低的连续值Cbt0

提示

您可以更改地块的属性,例如单元。有关更改绘图属性的方法的信息,请参见定制图形的方法

算法

首先将连续时间模型转换为状态空间。单输入状态空间模型的脉冲响应

x ˙ 一个 x + b u y C x

是否等价于以下初始状态的非强制响应b

x ˙ 一个 x x 0 b y C x

为了模拟这个响应,系统被离散使用零阶保持在输入。采样时间是根据系统动力学自动选择的,除非是时间向量t = 0: dt: Tf提供(dt然后用作样本时间)。

之前介绍过的R2006a