比较

比较识别出的模型输出和测得的输出

描述

阴谋的结果

例子

相比(数据,SYS)模拟动态系统模型的响应,和叠加该响应在标绘的测量数据。该图还显示模拟响应和测量数据之间的拟合优度的归一化的均方根(NRMSE)量度。当你要计算一组来自同一测量数据,或当你想验证模型您已经选择确定的候选机型使用此功能。您可以使用比较与时域或频域模型和数据。

例子

相比(数据,SYS,kstep)也预测的反应SYS,使用预测范围指定由kstep。预测使用输出测量以及输入测量项目未来的响应。kstep表示每个输出测量的时间点与结果预测响应的时间点之间的时间样本数量。有关预测的更多信息,请参见模拟和预测识别出的模型输出

相比(数据,SYS,一个linespec,kstep)还为模型响应指定行类型、标记符号和颜色。

例子

相比(数据sys1…, sysN,kstep)比较在同一坐标的多个动态系统的响应。比较自动选择线路规格。

例子

相比(数据,SYS1,LineSpec1,...,sysN,LineSpecN,kstep)还比较了使用线型,标记符号和颜色为每个系统指定的相同的轴的多个系统的响应。

例子

相比(___,选择)使用选项集配置比较。选项包括初始条件处理、数据偏移和数据选择。您可以将此语法用于前面的任何输入-参数组合。

返回结果

(y,适合,X0)=比较(___)返回模型响应,y,拟合值的优度,适合和初始状态,X0。不产生情节。您可以将此语法用于前面的任何输入-参数组合。然而,线路规格被忽略,因为没有密谋。

例子

全部折叠

识别的线性模型和可视化与来自它被产生的数据的模拟的模型响应。

负载输入/输出测量Z1,并确定一个三阶状态空间模型SYS

负载iddata1Z1;SYS = ssest(z1,3);

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

使用比较模拟SYS响应,并绘制它旁边的数据Z1

图比较(z1, sys)

图中显示了模型响应和原始数据之间的差异。图中显示的百分比是NRMSE的适合度值。它代表了预测模型的输出是数据的距离。

要更改绘图中的显示选项,请右键单击绘图以访问上下文菜单。例如:

  • 要绘制预测输出和测量输出之间的误差,请选择错误的阴谋

  • 要查看模拟响应信赖区域,选择特点->ConfidenceRegion

  • 若要指定绘图的标准偏差数,请双击绘图并打开属性编辑器对话框。在选项选项卡,指定标准偏差数置信区域已确定模型。默认值为1标准差。

识别的线性模型和可视化与从它被计算的数据的预测模型响应。

利用在输入/输出测量识别第三阶状态空间模型Z1

负载iddata1Z1;SYS = ssest(z1,3);

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

现在使用比较绘制预测响应。预测不同于模拟的,因为它计算系统响应时使用两者测得的输入和测量的输出。预测跨度定义了遥远的未来预测,相对于当前的测量的输出点。对于此示例,将预测范围kstep到10步,然后使用比较绘制与原始测量数据的预测的响应。

kstep = 10;比较(Z1,SYS,kstep)

在该图中,各SYS数据点表示与至少提前10步执行的输出测量数据相关联的预测输出。例如,t = 15s处的点是基于t = 5s时或之前的输出测量值。t = 15s的计算SYS与模拟一样,data point也使用t = 15s以下的输入测量值。

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

要更改显示和情节模拟选项,右键单击阴谋访问上下文菜单。例如,绘制所预测的输出和测量的输出之间的误差,选择错误的阴谋从上下文菜单。若要更改预测层值,或在模拟和预测之间切换,请选择预测地平线从上下文菜单。

为相同的数据确定几个模型类型,并比较结果以确定哪个最适合数据。

加载数据,其中包含IDDATA对象Z1只有一个输入和输出。

负载iddata1;

Z1,找出下列每一种线性形式的模型:

  • ARMAX (idpoly)订单2,图3和1,具有0的死区时间的

  • 国家空间(中的难点)有三种状态

  • 传递函数(idtf)有三根杆子

sys_armax = armax(z1,[2 3 1 0]);sys_ss = ss (z1, 3);sys_tf =特遣部队(z1, 3);

使用比较,绘制三种模型的模拟响应Z1

比较(z1、sys_armax sys_ss sys_tf)

对于这组数据,以及所有模型的默认设置,transfer-function表单最适合NRMSE。然而,所有模型的适用范围都在1%左右。

您可以交互地控制在绘图中显示哪些模型响应,方法是右键单击绘图并将鼠标悬停在绘图上系统

将不同类型的多个估计模型的输出与实测频域数据进行比较。

对于这个例子,从频响数据估计一个过程模型和一个输出误差多项式。

负载demofr%的频率响应数据zfr可以= AMP。* exp (1 * PHA *π/ 180);t = 0.1;data = idfrd (zfr可以W, Ts);sys1 =过程(数据,'P2UDZ');sys2 = oe(data,[2,2,1]);

SYS1,一个idproc模型,是一个连续时间过程模型。系统2,一个idpoly模型,是一个离散时间输出误差模型。

比较模型估计的数据的频率响应。

对比(数据,SYS1,'G'sys2,“r”);

这两个模型的NRMSE拟合值与计算它们的数据几乎相等。

当您将估计模型与测量数据进行比较时,请修改默认行为。

估计测量数据的传递函数。

负载iddata1Z1;sys =特遣部队(z1, 3);

SYS为连续时间确定的传递函数(idtf)模型。

假设你希望你的初始条件是零。默认为比较是根据数据估计初始条件。

创建一个选项集来指定初始条件处理。若要在初始条件中使用0,请指定“z”为了'初始条件'选项。

选择= compareOptions ('初始条件',“z”);

使用比较选项集将估计的传递函数模型输出与测量数据进行比较。

比较(z1, sys,选择)

输入参数

全部折叠

验证数据,指定为IDDATA,idfrd,或的朋友对象。

如果SYS是:

  • 一个IDDATA对象,然后数据必须是一个IDDATA对象具有匹配域、实验次数和时间或频率矢量

  • 频率响应数据(FRD)模型(定义为两者之一)idfrd的朋友), 然后数据还必须FRD

  • 参数模型(如中的难点), 然后数据可以IDDATA或FRD

数据与线性模型相比,既能表示时域数据,又能表示频域数据。数据当与非线性模型比较时,必须是时域数据。

有关示例,请参见:

辨识模型,指定为动力系统模型,一个IDDATA对象或模型数组。

时的时间或频率单位数据不匹配的单位SYS,比较再缩放SYS来匹配的单位数据

预测层,具体如下:

  • 天道酬勤-比较的模拟响应SYS数据

  • 正有限整数 - 的比较预测响应SYS数据,其中每个预测响应点不仅基于到该时间点的测量输入数据,而且还基于到该时间点的测量输出数据kstep较早的时间点。

比较忽略了kstep什么时候SYS是一个IDDATA对象、FRD模型或无噪声的动态系统。比较也忽略kstep使用频率响应验证数据时。

如果您指定kstep这比数据样本的数量大,比较kstep天道酬勤并提供一个警告信息。

有关模拟和预测的更多信息,请参阅模拟和预测识别出的模型输出

例如,参见将时域模型的预测响应与实测数据进行比较

线型,标记,并且两个线和标记的颜色,指定为字符向量,如“b”'B +:'

有关配置的详细信息一个linespec,请参阅一个linespec输入参数的情节。例如,参见比较多的模型估计到测量频域数据

比较选项,指定为使用的选项集compareOptions

可用的选项包括:

  • 处理的初始条件

  • 样本范围计算适合数字

  • 数据偏移

  • 输出权重

有关示例,请参见:

输出参数

全部折叠

模型响应,返回一个IDDATA对象,idfrd对象、单元格数组或数组。输出取决于您提供的模型和数据,如下所示:

  • 对于单模型和单实验数据集,y是一个IDDATA对象或idfrd对象

  • 对于多模式的比较,y是与一个单元阵列IDDATAidfrd每个输入模型的对象条目

  • 对于multiexperiment数据,y是对于每一实验的一个条目的单元阵列

  • 对于使用多实验数据的多模型比较,y是一个NSYS-通过-N经验值单元阵列,其中NSYS是型号的数量,和N经验值实验的次数是多少

  • 如果SYS为模型数组,y是与对应于每个模型中的一个元素的数组SYS和实验数据。有关模型数组的更多信息,请参见堆栈

如果kstep是没有指定还是指定了天道酬勤,然后比较返回模拟的响应y

否则,比较返回预测的响应。测量输出值数据达时间tn-kstep用于预测的输出SYS在时间tn。有关模拟和预测的更多信息,请参阅模拟和预测识别出的模型输出

比较响应计算需要初始条件处理的规范。默认情况下,比较估计初始条件,最大限度地匹配数据。看到compareOptions有关如何更多信息比较确定使用的初始条件。

NRMSE适应度值指示模拟或预测模型响应与测量数据的匹配程度,以向量、矩阵或单元数组的形式返回。输出取决于您提供的模型和数据,如下所示:

  • 如果数据是一个IDDATA对象,适合是长度的矢量Ny,其中Ny是输出的数量

  • 如果数据是一个FRD模型,适合是一个Ny-通过-Nu矩阵,其中Nu输入的个数是in吗数据

  • 对于单模型和单实验数据集,适合是向量还是矩阵

  • 对于多模式的比较,适合单元格数组是否为每个输入模型都有一个条目

  • 对于multiexperiment数据,适合是对于每一实验的一个条目的单元阵列

  • 对于使用多实验数据的多模型比较,适合是一个NSYS-通过-N经验值单元阵列,其中NSYS是型号的数量,和N经验值实验的次数是多少

  • 如果SYS为模型数组,适合是与对应于每个模型中的一个元素的数组SYS和实验数据

比较计算适合(百分比)使用:

适合 = One hundred. ( 1 | | y y ^ | | | | y 意思 ( y ) | | ) ,

在哪里y验证数据是否输出 y ^ 是的输出SYS

对于FRD模型-比较计算适合通过比较复频率响应。的幅值和相位曲线的拟合比较情节不计算比较分别。

用于计算系统响应的初始条件,以空数组、向量或单元数组的形式返回。输出取决于您提供的模型和数据,如下所示:

  • 什么时候SYS是一个的朋友IDDATA对象,X0是空数组[],因为初始条件不能与这些对象可以使用

  • 对于单模型和单实验数据集,X0是矢量

  • 对于多模式的比较,X0是一个单元阵列,与每个输入模型中的一个矢量或矩阵条目

  • 对于multiexperiment数据,X0是一个单元阵列,其中每个实验的一个条目

  • 对于使用多实验数据的多模型比较,X0是一个NSYS-通过-N经验值单元阵列,其中NSYS是型号的数量,和N经验值实验的次数是多少

  • 如果SYS为模型数组,X0是与对应于每个模型中的一个元素的数组SYS和实验数据

默认情况下,比较使用findstates估计X0。若要更改此行为,请设置'初始条件'选项选择(看到compareOptions)。如果您的输入/输出历史记录紧接在您的起始点之前,您可以进行设置'初始条件'历史数据。比较然后使用data2state计算历史数据的模拟结束状态,因此启动状态。其他选择包括设置初始条件为零,或者为特定的值,你已经预先确定。有关查找初始条件的详细信息,请参阅估计初始条件,以模拟识别的模型

如果你使用的是一个没有明确使用状态的估计模型,比较首先将模型转换为它的状态空间表示,然后将数据映射到状态。有关更多信息,请参见compareOptions

提示

  • 你得到的NRMSE拟合结果比较可能与模型识别中报告的拟合值不完全匹配。这些差异通常源于初始条件的不匹配,以及用于标识和验证的预测范围的差异。这些差异通常很小,不应该影响您的模型选择和验证工作流。有关更多信息,请参见解决模型识别和比较命令之间的拟合值差异

  • 比较匹配输入/输出通道数据SYS基于信道的名称。因此,可以评价不使用所有输入通道可用的模型数据。这种灵活性允许您比较多个模型,其被各自独立地选自不同组输入/输出通道的标识。

  • 比较plot允许您更改关键参数。例如,你可以交互控制:

    • 无论你生成一个模拟或预测响应

    • 预测地平线价值

    • 初始条件处理

    • 您查看哪些实验数据

    • 其系统模型查看

    要访问这些控件,请右键单击绘图以调出选项菜单。

介绍了R2006a