主要内容

模拟和预测识别的模型输出

您可以确定一个模型,以便准确地计算对输入的动态系统响应。生成识别的模型响应有两种方法:

  • 模拟使用输入数据和初始条件计算模型响应。

  • 预测利用当前和过去测量的输入和输出值,以及初始条件,在未来某一特定时间内计算模型响应。

在系统识别中,目标是创建一个真实的动态系统模型,然后可以用于应用程序目标。在这种情况下,系统识别工具箱中的模拟和预测的主要作用是为模型识别提供工具,也为选择、调优和验证这些模型提供工具。

您可以:

  • 以最小化任一预测的方式确定模型(预测的焦点)或模拟误差(模拟的焦点

  • 将您的模型响应与其他模型和数据测量进行比较

  • 通过将其响应与原始模型估计中未使用的测量输入/输出数据进行比较,来验证您的模型

模拟或预测方法的选择取决于应用程序的需求,但也取决于您在系统识别工作流程中的位置:

  • 当您确定您的模型时,一步预测焦点通常会产生最好的结果。这种优势是因为,通过同时使用输入和输出测量,一步预测可以解释扰动的性质。考虑干扰提供了统计上最优的结果。

  • 当您验证您的模型时,仿真通常为评估您的模型在广泛条件下的表现提供更直观的方法。但是,您的应用程序也可以驱动基于预测的验证。例如,如果您计划将模型用于控制设计,则可以通过预测模型在表示模型的主要时间常数的时间范围内的响应来验证模型。

您可以在时域或频域工作,并与输入/输出数据的域保持一致。对于频域数据,仿真结果是输入信号的傅里叶变换与模型频率函数的乘积。下载188bet金宝搏由于频率响应模型识别忽略了噪声动态,仿真焦点和一步预测焦点得到相同的识别模型。为了在频域进行验证,请使用仿真。

有关示例,请参见:

什么是模拟和预测?

通过将这些技术应用于一个简单的一阶系统,您可以更详细地了解模拟和预测之间的差异。

模拟

模拟指利用输入数据和初始条件计算模型响应。模型响应的时间样本与用于模拟的输入数据的时间样本相匹配。换句话说,给定的输入ut1,…,tN时,模拟生成yt1,…,tN.下面的图说明了这个流程。

对于连续时间系统,模拟意味着求解微分方程。对于离散系统,仿真就是直接应用模型方程。

例如,考虑一个由一阶差分方程描述的动态模型,该模型使用1秒的采样时间:

yt+ 1) =一个yt) +but

在哪里y是输出和u是输入。

这个系统相当于下面的框图。

假设您的模型识别为您提供了估计的参数值一个= 0.9和b= 1.5。那么方程就变成:

yt+1) = 0.9yt) + 1.5ut

现在假设您想要计算这些值y(1),y(2),y(3),……对于给定的输入值u(0) = 2,u(1) = 1,u(2) = 4,…y(1)为第一个采样瞬间的输出值。利用的初始条件y(0) = 0,的值yt)t= 1、2、3可计算为:

y(1) = 0.9y(0) + 1.5u(0) =(0.9)(0) + (1.5)(2) = 3

y(2) = 0.9y(1) + 1.5u(1) =(0.9)(3) + (1.5)(1) = 4.2

y(3) = 0.9y(2) + 1.5u(2) =(0.9)(4.2) + (1.5)(4) = 9.78

预测

预测意味着预测模型响应k使用当前和过去测量的输入和输出值来预测未来。k叫做预测地平线,对应于预测时间的输出kT年代,在那里T年代是采样时间。换句话说,给定的测量输入ut1,…,tN+k测量输出yt1,…,tN,则预测生成yptN+k

例如,假设您使用传感器来测量输入信号ut)和输出信号yt)上一阶方程所描述的物理系统。方程变成:

ypt+ 1) =一个yt) +but

在哪里y是输出和u是输入。

之前模拟方框图的预测器版本为:

在第10个采样瞬间(t= 10),测量输出y(10)为16mm和相应的输入u(10)是12n。现在,你想预测未来某一时刻的输出值t= 11。利用前面的方程,预测输出yp是:

yp(11) = 0.9y(10) + 1.5u(10)

因此,未来产出的预测值y(11)时间t= 10为:

yp(11) = 0.9*16 + 1.5*12 = 32.4

一般来说,要预测模型的响应k走向未来(k≥1)从当前时间t,你必须知道到目前为止的输入t+k并输出到时间t

ypt+k) =fut+k),ut+k1),…ut),ut1),…u(0)
yt),yt1),yt2),…y(0))

u(0)和y(0)为初始状态。f()代表了预测,这是一个动态模型,其形式取决于模型结构。

从前面的例子中,提前一步的预测器,yp模型的yt) +一个yt1) =but是:

ypt+1 = -一个ypt) +but+ 1)

在这个简单的一步预测器案例中,最新的预测仅基于测量结果。对于多步预测器,动态模型在内部传播状态,除了输入之外,还使用先前的预测状态。因此,每一个预测的输出都是测量的输入和输出以及之前预测的输出的组合。

你可以设置k到任何正整数值,不超过测量数据样本的数量。如果你设置k对于∞,则预测计算中不使用之前的输出,预测返回与模拟相同的结果。如果你设置k大于数据样本数量的整数,预测k并发出警告。如果您的意图是在测量数据的最后一刻之后的时间范围内执行预测,请使用预测

一个用MATLAB进行预测和仿真的例子®,请参阅比较识别模型对实测数据的预测响应和模拟响应

预测的局限性

并非所有模型都支持预测方法。金宝app对于前面的动态模型, H z 1 1 + 一个 z 1 ,该结构支持使用过去的数据。金宝app输出误差(金宝appOE)结构的模型(Hz) =1).在过去的输出中没有可以用来预测未来输出值的信息。在这些情况下,预测和模拟是一致的。即使通常使用过去信息的模型在特殊情况下仍然可以具有OE结构。状态空间模型(中的难点)有OE结构时K = 0.多项式模型(idpoly)也有OE结构,当= c = d = 1.在这些特殊情况下,预测和仿真是等价的,扰动模型固定为1

比较识别模型对实测数据的预测响应和模拟响应

这个例子展示了如何可视化一个确定的线性模型的预测模型响应和模拟模型响应。

中的输入/输出测量值确定一个三阶状态空间模型z1

负载iddata1z1;Sys = sest(z1,3);

sys是连续时间标识的状态空间(中的难点)模型。在这里,sys使用默认的1步预测焦点标识,这将使1步预测误差最小化。这个重点通常提供了最好的整体模型。

现在使用比较画出预测的反应。对于本例,设置预测范围kstep到10步,并使用比较根据原始测量数据绘制预测响应图。这个设定kstep指定与用于预测该点的测量数据相比,每个响应点在未来10步。

Kstep = 10;图比较(z1、sys kstep)

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(y1), sys: 70.53%。

在该图中,每个数据点表示与至少10步前采集的输出测量数据相关联的预测输出。例如,t=15秒处的点基于t=5秒或之前的测量结果。

该图说明了模型响应和原始数据之间的差异。图例中的百分比是NRMSE适合度值。它表示预测模型输出与数据的匹配程度。

为了改善结果,可以缩小预测范围。

Kstep = 5;图比较(z1、sys kstep)

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(y1), sys: 73.1%。

NRMSE适应度值比在10步情况下获得的适应度值有所改善。在实际应用中,有各种因素会影响预测范围有多小。这包括时间常数和应用程序前瞻需求。

属性可以查看模拟响应,而不是预测响应,以便进行比较kstep默认为比较,即.在模拟中,响应计算只使用输入数据,而不是测量的输出数据。

图比较(z1, sys)

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(y1), sys: 70.56%。

模拟反应和10步预测反应产生了相似的总体拟合百分比。

若要更改图中的显示选项,请右键单击图以访问上下文菜单。例如,要绘制预测输出和测量输出之间的误差,请选择错误的阴谋从上下文菜单。

比较用预测和模拟焦点识别的模型

这个例子展示了如何识别具有预测焦点和模拟焦点的模型。将预测焦点和模拟焦点模型的响应与原始估计数据进行比较,并与未用于估计的验证数据进行比较。

识别模型时,算法使用“焦点”选项,确定是最小化预测误差还是最小化模拟误差。默认为“预测”.你可以通过改变“焦点”选项“模拟”。

加载测量数据z1,然后分成两半z1e而且z1v.一半用于模型识别,另一半用于模型验证。

负载iddata1z1%z1e = z1(1:50 0);避免失速%z1v = z1(151:300);Z1e = z1(1:155);Z1v = z1(156:300);

确定一个三阶状态空间模型sys_pf使用的输入/输出测量z1e.使用此模型的默认选项“Focus”选项,即“预测”。

Sys_pf = sest(z1e,3);

sys_pf是连续时间标识的状态空间(中的难点)模型。

使用相同的测量数据集,确定第二个状态空间模型sys_sf这集“焦点”“模拟”

opt = ssestOptions(“焦点”“模拟”);Sys_sf = sest(z1e,3,opt);

使用比较函数模拟对两个已识别模型的响应。

图比较(z1e sys_pf sys_sf)

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象表示验证数据(y1), sys\_pf: 63%, sys\_sf: 62.76%。

预测焦点识别的模型比模拟焦点识别的模型具有更高的NRMSE拟合值。

现在执行与验证数据的比较。这种比较显示了模型在不属于其识别的条件下的表现。

图比较(z1v sys_pf sys_sf)

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象表示验证数据(y1), sys\_pf: 64.45%, sys\_sf: 63.56%。

两个模型的拟合值都有所提高。但是,预测焦点模型仍然高于模拟焦点模型。

另请参阅

|||

相关的话题