主要内容

比较

比较已确定的模型输出和测量输出

描述

阴谋的结果

例子

相比(数据sys模拟一个动态系统模型的响应,并将响应叠加在绘制的测量数据上。该图还显示了模拟响应和测量数据之间的拟合优度的归一化均方根(NRMSE)测度。当您想要评估从相同的度量数据中确定的一组候选模型时,或者当您想要验证所选择的模型时,请使用此功能。您可以使用比较使用时域或频域模型和数据。

例子

相比(数据syskstep.也可以预测sys,使用由kstep..预测使用输出测量和输入测量来预测未来的响应。kstep.表示从每次输出测量时间点到最终预测响应时间点之间的时间样本数量。有关预测的更多信息,请参见模拟和预测已识别模型的输出

相比(数据sys线路专业版kstep.还指定模型响应的行类型,标记符号和颜色。

例子

相比(数据,sys1,...,sysn,kstep.比较同一轴上的多个动态系统的响应。比较自动选择线条规格。

例子

相比(数据,sys1,linepec1,...,sysn,linepecn,kstep.还使用为每个系统指定的线类型,标记符号和颜色进行比较同一轴上的多个系统对同一轴上的响应。

例子

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

返回结果

例子

y适合集成电路) =比较(___返回模型响应y,拟合优度值适合,以及初始条件集成电路.此语法不会生成绘图,因此忽略任何行规范。

例子

全部折叠

识别线性模型,并通过生成的数据可视化模拟模型响应。

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

负载Iddata1.z1;sys = ss (z1, 3);

sys是连续时间确定的状态空间(中的难点) 模型。

采用比较模拟sys响应并将其与数据一起绘制z1

图比较(Z1,SYS)

图中包含一个坐标轴。轴线包含2个线型对象。这些物体代表Z1(Y1),SYS:70.56%。

该曲线说明了模型响应和原始数据之间的差异。图例中所示的百分比是NRMSE健身值。它表示预测模型输出对数据的封闭式。

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

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

  • 要查看模拟响应的置信区域,请选择特征- >ConfidenceRegion

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

确定一个线性模型和可视化的预测模型响应与数据的计算。

使用输入/输出测量来识别三阶状态空间模型z1

负载Iddata1.z1;sys = ss (z1, 3);

sys是连续时间确定的状态空间(中的难点) 模型。

现在使用比较来绘制预测的反应。预测不同于仿真,它在计算系统响应时同时使用测量的输入和输出。预测视界定义了相对于当前测量的输出点,预测未来的距离。对于本例,设置预测视界kstep.10步,并使用比较绘制对原始测量数据的预测响应。

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

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表z1 (y1), sys: 70.53%。

在这个情节中,每一个sys数据点表示与输出测量数据相关联的预测输出,该输出测量数据至少提前10步。例如,T = 15s处的点基于T = 5s之前或之前的输出测量。计算这个t = 15ssys数据点也使用最多的输入测量值,正如模拟一样。

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

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

识别相同数据的若干模型类型,并比较结果,以查看最适合数据的结果。

加载数据,其中包含iddata.对象z1单个输入和输出。

负载Iddata1.

z1,为下列每一种线性形式确定一个模型:

  • ARMAX (Idpoly.),死时间为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)

图中包含一个坐标轴。轴包含4个类型的4个物体。这些对象代表z1(y1),sys \ _marax:70.27%,sys \ _ss:70.56%,sys \ _tf:70.96%。

对于这组数据,以及所有模型的默认设置,传输功能表单具有最佳的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模型,是一个连续时间过程模型。SYS2.,一个Idpoly.模型,是一个离散时间输出误差模型。

将估计模型的频率响应与数据进行比较。

比较(数据,sys1,‘g’sys2,“r”);

图中包含2个轴。带有标题的轴1来自:U1包含3个类型线的对象。这些对象代表数据,SYS1:88.03%,SYS2:88.04%。轴2包含3个类型的线。这些对象代表数据,SYS1:88.03%,SYS2:88.04%。

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

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

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

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

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

假设初始条件为零。的默认值比较就是从数据中估计初始条件。

创建一个选项设置以指定初始条件处理。要使用零进行初始条件,请指定'z'为了'初始条件'选项。

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

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

比较(Z1,SYS,OPT)

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表z1 (y1), sys: 70.66%。

加载数据。

负载iddata2.z2

将数据分解为估计和验证集。

Z2E = Z2(1:200);Z2V = Z2(201:400);绘图(Z2E,Z2V)

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

使用估计数据估计状态空间模型和传递函数模型。

sys_ss = ss (z2e 2);sys_tf =特遣部队(z2e 2 1);

采用比较的初始条件sys_ss

[y_ss, fit_ss ic_ss] =比较(z2e sys_ss);ic_ss
ic_ss =2×1-0.0018 0.0016

ic_ss是初始状态的数值向量。

[y_tf,fit_tf,ic_tf] =比较(z2e,sys_tf);IC_TF.
ic_tf = initialCondition with properties: A: [2x2 double] X0: [2x1 double] C: [-1.6093 5.1442] Ts: 0

IC_TF.是一个initialCondition对象,该对象以状态空间形式包含的自由响应模型sys_tf到初始条件。一个C包含自由响应信息和X0包含初始状态。

现在使用验证数据一次获得两个模型的初始条件。

[y_sstf,fit_sstf,ic_sstf] =比较(z2v,sys_ss,sys_tf);ic_sstf
ic_sstf =2×1单元阵列{2x1 double} {1x1 InitialCondition}

ic_sstf是包含初始状态向量的单元数组sys_ss和一个initialCondition对象sys_tf

比较可以为现有模型提供具有任何测量数据集的初始条件。

输入参数

全部折叠

验证数据,指定为iddata.IDFRD.,或的朋友(控制系统工具箱)对象。

如果sys是:

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

  • 频率响应数据(FRD)模型(定义为IDFRD.要么的朋友),然后数据也必须是frd

  • 参数模型(例如中的难点),然后数据可以iddata.或朋友

数据与线性模型相比,可以表示时域或频域数据。数据当与非线性模型比较时,必须是时域数据。

有关示例,请参见:

识别的模型,指定为a动态系统模型,一个iddata.对象或模型阵列。

当时间或频率单位为数据不匹配单位sys比较重新调节sys匹配的单位数据

预测视界,指定为下列之一:

  • INF.-比较的模拟响应sys数据

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

比较忽略了kstep.sys是一个iddata.对象、FRD模型或无噪声组件的动态系统。比较也忽略了kstep.使用频率响应验证数据时。

如果您指定kstep.这比数据样本的数量要多,比较kstep.INF.并提供警告消息。

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

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

线的样式、标记和线和标记的颜色,指定为字符向量,例如“b”要么'b +:'

有关配置的更多信息线路专业版,请参阅Linespec输入论点情节.例如,请参见将多个估计模型与测量的频域数据进行比较

比较选项,作为创建的选项集指定compareOptions

可用的选项包括:

  • 处理初始条件

  • 用于计算拟合号的示例范围

  • 数据偏移量

  • 输出加权

有关示例,请参见:

输出参数

全部折叠

模型响应,返回为iddata.对象,A.IDFRD.对象,小区阵列或数组。输出取决于您提供的模型和数据,如下所示:

  • 对于单个模型和单个实验数据集,y是一个iddata.对象或者IDFRD.对象

  • multimodel比较,y单元格数组是1吗iddata.要么IDFRD.每个输入模型的对象条目

  • 对于多生水平数据,y每个实验都有一个单元格数组吗

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

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

如果kstep.未指定或是INF.,然后比较中返回模拟响应y

否则,比较返回预测的响应。中测量输出值数据凌晨tn-kstep.用于预测输出sys当时tn.有关模拟和预测的更多信息,请参见模拟和预测已识别模型的输出

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

NRMSE健身值模拟或预测模型响应如何与测量数据匹配,返回为向量,矩阵或单元阵列。输出取决于您提供的模型和数据,如下所示:

  • 如果数据是一个iddata.目的,适合是长度的矢量Ny,在那里Ny输出的数量是多少

  • 如果数据是FRD模型,适合是一个Ny-经过-Nu矩阵,其中Nu输入的数量是多少数据

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

  • multimodel比较,适合单元格数组是否每个输入模型都有一个条目

  • 对于多生水平数据,适合每个实验都有一个单元格数组吗

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

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

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

适合 100. 1 | | y y | | | | y 意思 y | |

在哪里y是验证数据输出和 y 是输出sys

对于FRD模型-比较计算适合通过比较复频响应。所示的幅度和相位曲线的拟合比较Plot不是由比较分开。

用于计算系统响应的初始条件,返回为空数组、矢量和initialCondition对象或单元格数组。

对于单个模型和单实验数据,输出的形式取决于模型类型。

  • 为状态空间模型,集成电路是包含初始状态的数字矢量。

  • 用于传递函数和多项式模型,集成电路是一个initialCondition对象。一个initialCondition代表状态空间形式,模型的自由响应(一个C矩阵)的估计初始状态(x0).

  • 什么时候sys是一个的朋友要么iddata.目的,集成电路是空数组[],因为初始条件不能用于这些对象。

对于多个模型和/或实验,输出形式如下:

  • multimodel比较,集成电路是一个小区或对象阵列,其中一个矢量,矩阵或initialCondition每个输入模型的条目。

  • 对于多生水平数据,集成电路是一个单元格或对象数组,每个实验有一个条目。

  • 用于使用多模型数据的多模型比较,集成电路是一个Nsys-经过-N经验值单元格或物体阵列,其中Nsys是模型的数量和N经验值是实验的数量。

  • 如果sys是一个模型数组,集成电路是一个与每个模型对应的元素的数组sys和实验数据

默认情况下,比较使用findstates来估计初始状态集成电路.要更改此行为,请设置'初始条件'选项选择(看compareOptions).如果您有输入/输出历史记录,请立即在开始点之前,您可以设置'初始条件'这是历史数据。比较然后使用data2state计算历史数据的结束状态,从而计算模拟的开始状态。其他选择包括将初始条件设置为零,或者设置为您先前确定的特定值。有关查找初始条件的更多信息,请参见估算模拟识别模型的初始条件

如果你使用的估算模型没有明确使用状态,比较首先将模型转换为其状态空间表示,然后将数据映射到初始状态。比较然后包装初始状态向量和一个C状态空间矩阵initialCondition对象。举个使用的例子比较有了这样的模型,请看获得初始条件

提示

  • 你得到的NRMSE匹配结果比较可能无法精确地匹配模型识别中报告的拟合值。这些差异通常在初始条件中的不匹配中产生,并且在预测地平线的差异中默认为识别和验证。差异通常很小,不应影响您的模型选择和验证工作流程。有关更多信息,请参阅解决模型识别和比较命令之间的拟合值差异

  • 比较匹配的输入/输出通道数据sys基于频道名称。因此,可以评估不使用可用的所有输入通道的模型数据.这种灵活性允许您比较多个模型,这些模型各自独立于不同的输入/输出通道集识别。

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

    • 是否生成模拟或预测响应

    • 预测地平线价值

    • 初始条件处理

    • 你查看的是哪个实验数据

    • 您查看的系统模型

    要访问控件,右键单击绘图以打开选项菜单。

介绍了R2006a