主要内容

在模拟已识别的线性模型时应用初始条件

此示例展示了在模拟模型以根据测量数据验证模型性能时获取和使用估计初始条件的工作流。

当您想要模拟一个模型时,请使用初始条件(ICs),以便通过比较模拟响应与测量数据来验证模型性能。如果您的测量数据对应的系统不是在静止状态下开始的,那么假设一个静止的起始点的模拟将导致不匹配。模拟和测量的响应在模拟开始时不一致。

对于状态空间模型,初始状态向量是描述初始条件的充分条件。对于其他的LTI模型initialCondition对象允许您以模型对初始条件的自由响应的形式表示集成电路。该表示为状态空间形式,如下式所示:

G 年代 C 如果 - 一个 - 1 X0

在这里, G 年代 这是自由反应吗initialCondition封装。 一个 C 一个C模型的状态空间形式的矩阵。 X0 为对应的初始状态向量。自由响应不包括在内BD因为无IC响应与输入信号无关。虽然initialCondition对象封装状态空间形式,您可以使用该信息为任何LTI系统的自由响应建模。仿真软件分别计算自由响应和强迫响应,然后将它们加在一起得到总响应。

准备数据

加载数据并将其分解为估计和验证数据集。对于本例,分割发生在输出数据具有明显非零起点的地方。

负载iddata2z2z2e = z2 (10:210);z2v = z2 (210:400);情节(z2e z2v)

图中包含2个轴。标题为y1的轴1包含两个类型为line的对象。这些对象代表z2e, z2v。标题为u1的轴2包含两个line类型的对象。这些对象代表z2e, z2v。

显示每个数据集的第一个输出示例。

z2e.y (1)
ans = -5.9588
z2v.y (1)
ans = -9.2141

估计传递函数模型

利用估计数据,估计二阶传递函数模型并返回初始条件集成电路.显示集成电路

np = 2;新西兰= 1;(sys_tf, ic) =特遣部队(z2e、np、新西兰);集成电路
A: [2x2 double] X0: [2x1 double] C: [-1.6158 5.1969] Ts: 0

集成电路表示传递函数模型在状态空间形式下对初始条件的自由响应。

一个= ic.A
一个=2×2-3.4145 -5.6635 4.0000 0
C = ic.C
C =1×2-1.6158 - 5.1969

X0属性包含初始状态向量。

X0 = ic.X0
X0 =2×1-0.5053 - -1.2941

模拟模型

模拟模型。首先,作为参考,模拟模型不合并集成电路.用估计数据绘制模拟响应图。

y_no_ic = sim (sys_tf z2e);情节(y_no_ic z2e)传说(“模型响应”的输出数据)标题(“传递函数模型-无IC规格”

图中包含2个轴。标题为y1的轴1包含两个类型为line的对象。这些对象表示模型响应、输出数据。标题为u1的轴2包含一个类型为line的对象。这个对象表示输出数据。

模拟和测量的响应在模拟开始时不一致。

合并集成电路.要做到这一点,首先进行初始化选择到选项集simOptions.指定集成电路随着“InitialCondition”设置。模拟模型并绘制结果。

选择= simOptions;opt.InitialCondition = ic;y_ic = sim (sys_tf z2e,选择);情节(y_ic z2e)传说(“模型响应”的输出数据)标题(“传递函数模型-指定ICs”

图中包含2个轴。标题为y1的轴1包含两个类型为line的对象。这些对象表示模型响应、输出数据。标题为u1的轴2包含一个类型为line的对象。这个对象表示输出数据。

现在,在模拟开始时,各方的反应更加一致。

获取验证数据的ICs

集成电路表示仅用于估计数据集的ICs。如果希望使用验证输入运行模拟,并将结果与验证输出进行比较,则必须获得验证数据集的ICs。要做到这一点,使用比较.您可以使用比较以估计模型和测量数据的任何组合的集成电路。

[青年志愿,fitv, icv] =比较(z2v sys_tf);icv
icv = initialCondition with properties: A: [2x2 double] X0: [2x1 double] C: [-1.6158 5.1969] Ts: 0

显示一个C, X0的属性icv

Av = icv。一个
Av =2×2-3.4145 -5.6635 4.0000 0
简历= icv.C
简历=1×2-1.6158 - 5.1969
X0v = icv。X0
X0v =2×10.4512 - -1.5068

在这种情况下一个C表示自由响应模型的矩阵与ic.Aic.C值的原始估计。但是,初始状态向量X0v不同于ic.X0

指定icvInitialCondition”设置在选择并使用验证数据模拟模型。绘制模拟和测量的响应。

opt.InitialCondition = icv;y_ic = sim (sys_tf z2v,选择);情节(y_ic (:,: []), z2v (:,:,[])) 传奇(“模型响应”的输出数据)标题(“验证数据的传递函数模型响应”

图中包含一个坐标轴。标题为y1的轴包含两个类型为line的对象。这些对象表示模型响应、输出数据。

在模拟开始时,模拟响应与实测响应具有很好的一致性。

将集成电路应用于转换模型的仿真

您可以在将模型转换为另一种形式时应用ICs。

转换sys_tf到一个idpoly模型。模拟转换后的模型,保留电流SimOptions“InitialCondition”设置,icv,在选择

sys_poly = idpoly (sys_tf);y_poly = sim (sys_poly z2v,选择);情节(y_poly (:,: []), y_ic (:,: []), z2v (:,:,[])) 传奇(“idpoly模型响应”“idtf模型响应”的输出数据)标题(多项式模型转换的

图中包含一个坐标轴。标题为y1的轴包含3个类型为line的对象。这些对象代表idpoly模型响应,idtf模型响应,输出数据。

sys_tfsys_poly出现相同的反应。

将集成电路应用于状态空间模型的仿真

状态空间模型可以使用由单个数值初始状态向量表示的初始条件或由initialCondition对象。

当你转换sys_tf到一个中的难点型号,可以再次使用icv通过保留icv设置在选择

sys_ss = ids (sys_tf);y_ss = sim (sys_ss z2v,选择);情节(y_ss (:,: []), z2v (:,:,[])) 传奇(“模型响应”的输出数据)标题(状态空间模型转换的

图中包含一个坐标轴。标题为y1的轴包含两个类型为line的对象。这些对象表示模型响应、输出数据。

当你使用比较或者状态空间估计函数党卫军,函数返回初始状态向量x0.估计状态空间模型sys_ss2使用z2e和使用比较,获取对应的icz2v

sys_ss2 = ss (z2e 2);[yvss fitvss, x0] =比较(z2v sys_ss2);x0
x0 =2×1-0.1061 - 0.0097

x0是一个数字向量。指定x0随着“InitialCondition”设置在选择并模拟响应。

opt.InitialCondition = x0;y_ss2 = sim (sys_ss2 z2v,选择);情节(y_ss2 (:,: []), z2v (:,:,[])) 传奇(“模型响应”的输出数据)标题(“用初始状态向量模拟的状态空间模型”

图中包含一个坐标轴。标题为y1的轴包含两个类型为line的对象。这些对象表示模型响应、输出数据。

转换状态空间初始状态向量为initialCondition对象

如果你的原始模型是一个状态空间模型,你想把模型转换成一个多项式或传递函数模型,并应用相同的初始条件,你必须把初始状态向量转换成initialCondition对象。

提取并显示一个C,Ts属性从sys_ss2

= sys_ss2。一个
是=2×25.2918 -1.7327
c = sys_ss2.C
c =1×282.9765 - 25.5146
Tss = sys_ss2。Ts
Tss = 0

一个C矩阵估计使用党卫军有不同的值一个C矩阵估计icv使用特遣部队.一个给定的线性模型有无穷多个状态空间表示。这两对矩阵,连同相关的初始状态向量,是等价的,并产生相同的自由响应。

创建initialCondition对象ic_ss2使用sys_ss2模型属性和初始状态向量x0你使用的时候得到的比较

ic_ss2 = initialCondition (x0, Cs, Tss)
ic_ss2 = initialCondition with properties: A: [2x2 double] X0: [2x1 double] C: [82.9765 25.5146] Ts: 0

转换sys_ss2转化为传递函数模型,并用转换后的模型进行仿真ic_ss2随着“InitialCondition”设置。

sys_tf2 = idtf (sys_ss2);opt.InitialCondition = ic_ss2;y_tf2 = sim (sys_tf2 z2v,选择);情节(y_tf2 (:,: []), z2v (:,:,[])) 传奇(“模型响应”的输出数据)标题(“由状态空间模型转换而来的传递函数模型”

图中包含一个坐标轴。标题为y1的轴包含两个类型为line的对象。这些对象表示模型响应、输出数据。

使用构造initialCondition对象ic_ss2产生与使用直接估计的模拟响应相似的响应initialCondition对象。

另请参阅

|||||||

相关的话题