主要内容

估计查找表的约束值

目标

中查找表的约束值参数估计量.对查找表输出值应用单调递增约束,并使用参数估计量来估计表的值。

关于数据

在本例中,使用lookup_increasing.mat,其中包含用于估计查找表值的测量I/O数据。mat文件包含以下变量:

  • xdata1-输入数据由范围内602个均匀采样的数据点组成(5, 5)

  • ydata1—输出与输入数据样例相对应的数据。

  • time1-时间向量。

中查找表的输出值单调递增,使用I/O数据进行估计lookup_increasing万博1manbetx®模型。

查找表输出

  1. 在MATLAB中输入以下命令打开查找表模型®提示:

    lookup_increasing

    这个命令打开Simulink模型,并在MATL万博1manbetxAB工作空间中加载估计数据。

  2. 控件查看表输出值查找表块。

    该表包含断点处的11个输出值[5],在“功能块参数”对话框中指定。有关如何指定表值的详细信息,请参见输入断点和表数据

    表数据字段显示表输出值是存储在变量中的值的累积和ydelta.因此,如果yn11个表的输出值,ydelta是(y1,y2- - - - - -y1,y3.- - - - - -y2、……y11- - - - - -y10).最初的ydelta值是从lookup_increasing.mat

    初始表输出值不是单调递增的。为了保证表输出值单调递增,相邻表输出值之间的差值应该为正。这样做,估计ydelta参数估计量利用实测I/O估计数据,并进行约束ydelta(2:结束)在估计时要积极。

使用默认设置估计单调递增的表值

  1. 打开一个参数估计会话。

    在Simuli万博1manbetxnk模型中,选择参数估计量应用程序Tab,在画廊里,在下面控制系统使用该名称打开会话lookup_increasing参数估计量

  2. 创建一个实验并导入I/O数据。

    参数估计选项卡上,单击新实验.类型[time1, ydata1]输出而且[time1, xdata1]输入的“编辑实验”对话框。点击好吧.一个新的名字实验经验值创建于实验重新命名实验EstimationData右键点击默认的实验名称,经验值,并选择重命名.有关更多信息,请参见导入数据进行参数估计

  3. 在MATLAB提示符下输入以下命令,运行初始模拟以查看测量数据、模拟模型值和初始表值。

    sim卡(“lookup_increasing”图(1);情节(xdata1 ydata1,“m *”xout你,“b ^”)举行;图(5,cumsum (ydelta),“k”,“线宽”(2)包含输入数据的);ylabel (的输出数据);传奇(的测量数据,“初始模拟数据”,'初始表输出'

    表的初始输出值和模拟数据与实测数据不匹配。

  4. 选择参数进行估计。

    参数估计选项卡上,单击选择参数.打开“编辑:估计参数”对话框。在为所有实验调整参数面板中,单击选择参数打开“选择模型变量”对话框。勾选旁边的方框ydelta,并单击好吧

    ydelta在“编辑:估计参数”对话框中默认选择用于估计的值。

  5. 对表输出值应用单调递增的约束。有关该表的详细信息,请参见查找表输出

    在“编辑:估计参数”对话框中,单击ydelta值。在展开菜单中,设置最低ydelta(负无穷,0 (10)).因此,当第一个值在ydelta可以由任何,后续值,即相邻表输出值之间的差,必须是正的。

  6. 选择EstimationData估计实验。

    参数估计选项卡上,单击选择实验.默认情况下,EstimationData选择进行估计。如果没有,请勾选下面的复选框估计列,然后单击好吧

  7. 使用默认设置估计表值。

    参数估计选项卡上,单击估计

    参数轨迹图中显示了每次迭代中参数值的变化。

    评估进度报告显示迭代次数,目标函数被评估的次数,以及每次迭代结束时代价函数的值。

    估计的参数被保存在一个新变量中,EstimatedParams,在结果查看预估参数,单击右键EstimatedParams并选择开放

    估计ydelta(2:结束)价值观是正的。因此,表的输出,即存储在其中的值的累计和ydelta,是单调递增的。

验证评估结果

在估算表值之后,如中所述使用默认设置估计单调递增的表值,您使用另一个测量数据集来验证和检查您没有过度拟合模型。您可以绘制和检查以下图来验证估计结果:

  • 残差图

  • 测量和模拟的数据图

  1. 创建一个用于验证的实验并导入验证I/O数据。

    参数估计选项卡上,单击新实验.类型[time2, ydata2]输出而且[time2, xdata2]输入的“编辑实验”对话框。命名实验ValidationData右键点击默认的实验名称,经验值,在实验应用程序的区域,并选择重命名.有关更多信息,请参见导入数据进行参数估计

  2. 选择实验进行验证。

    点击选择实验参数估计选项卡。的ValidationData估计默认选择实验。清晰的估计并选择用于的方框验证

  3. 选择要验证的结果。

    验证选项卡上,单击选择要验证的结果.清晰的使用当前参数值中,选择EstimatedParams,并单击好吧

  4. 选择要在验证期间显示的图。

    参数估计量默认显示验证后的实验图。控件上的对应框添加残差图验证选项卡。

    点击验证

  5. 检查情节。

    1. 实验结果表明,用估计参数模拟得到的数据与实测验证数据吻合较好。

    2. 如需查看残差图,请单击残差图:ValidationData选项卡。

      显示模拟数据和实测数据之间差异的残差位于最大输出变化的15%以内。这表明测量值和模拟表数据值之间有很好的匹配。

    3. 绘制并检查验证数据、模拟数据和估计表值。

      sim卡(“lookup_increasing”图(2);情节(xdata2 ydata2,“m *”xout你,“b ^”)举行;图(5,cumsum (ydelta),“k”,“线宽”, 2) xlabel(输入数据的);ylabel (的输出数据);传奇(验证数据的,模拟数据的,“表输出值”);

      表输出值与测量数据和模拟表值相匹配。表输出值涵盖了输入值的整个范围,这表明所有查找表值都已估计。

相关的话题