属性中的时域输入输出(I/O)数据估计查找表值参数估计量.
在本例中,I/O数据为lookup_regular.mat
估计查找表的值。MAT-file包含以下变量:
xdata1
-由63个均匀采样的输入数据点组成,范围[0,6.5]
ydata1
—输出数据对应于输入数据样本
time1
——时间向量
中使用I/O数据估计查找表值lookup_regular
金宝app®模型。模型中的查找表包含10个值,这些值存储在MATLAB中®变量表格
.表的初始值由一个0的向量组成。要了解有关如何使用查找表建模系统的更多信息,请参见选择查找表的指南.
要估计查找表的值,请打开参数估计会话。
在MATLAB提示符下输入以下命令打开查找表模型:
lookup_regular
该命令打开Simulink模型,并将估计数据加金宝app载到MATLAB工作空间中。
在Simuli金宝appnk模型中,选择参数估计量从应用程序Tab,在gallery下控制系统使用名称打开新的会话lookup_regular在参数估计量.
使用以下步骤估计查询表值。
通过单击创建一个新实验新实验在参数估计选项卡。它的名字EstimationData
.然后导入I/O数据,xdata1
和ydata1
,和时间矢量,time1
,投入到实验中。为此,右击打开实验编辑器EstimationData
并选择编辑…….类型[time1, ydata1]
在输出对话框中[time1, xdata1]
在实验编辑器的输入对话框中。有关更多信息,请参见为参数估计导入数据.导入数据后,实验看起来如下所示:
运行初始模拟以查看I/O数据、模拟输出和初始表值。为此,在MATLAB提示符下输入以下命令:
sim卡(“lookup_regular”图(1);情节(xdata1 ydata1,“m *”xout你,“b ^”)举行在;情节(linspace(0、6.5、10),表,“k”,“线宽”2);传奇(的测量数据,“初始仿真数据”,“初始表值”);
图中的x轴和y轴分别表示输入和输出数据。图中显示了如下示意图:
实测数据-以品红星(*)表示。
初始表值-由黑线表示。
初始模拟数据-由蓝色delta (Δ)表示。
您可以看到初始表值和模拟数据与测量数据不匹配。
要选择要估计的表值,请在参数估计选项卡上,单击选择参数打开编辑:估计参数对话框。在参数调整为所有实验面板中,单击选择参数启动“选择模型变量”对话框。选中表格旁边的复选框,然后单击好吧.
的编辑:估计参数窗口现在看起来如下。默认情况下,选择表值进行估计。
在参数估计选项卡上,单击选择实验.EstimationData
默认情况下选择进行估计。如果没有,请在下面的方框中打勾估计列,然后单击好吧.
中使用默认设置估计表值参数估计选项卡上,单击估计打开参数轨迹情节和评估进展报告窗口。的参数轨迹Plot显示每次迭代时参数值的变化。
在估计收敛后,参数轨迹情节是这样的:
的评估进展报告显示迭代次数,目标函数被评估的次数,以及每次迭代结束时代价函数的值。在估计收敛后,评估进展报告是这样的:
估计的参数保存在EstimatedParams
在结果部分的数据浏览器左边的窗格。要查看结果,右键单击EstimatedParams
然后选择开放.报告内容如下。
该报告包括估计的参数值、成本函数的最终值和其他优化结果。可以看到,当梯度大小1.18e-14小于准则值1e-3时,优化停止。
在估计表值之后,如使用默认设置估计表值,您必须使用另一个数据集来验证您没有过度拟合模型。您可以绘制和检查以下图,以验证评估结果:
残差图
测量和模拟数据图
为了验证估计结果:
创建一个用于验证的新实验。它的名字ValidationData
.导入验证I/O数据,xdata2
和ydata2
,和时间矢量,time2
在ValidationData
实验。为此,右击打开实验编辑器ValidationData
并选择编辑…….然后,类型[time2, ydata2]
在输出对话框中[time2, xdata2]
在实验编辑器的输入对话框中。有关更多信息,请参见为参数估计导入数据.
选择要验证的实验,在参数估计选项卡上,单击选择实验.的ValidationData
默认选择实验进行估计。取消选择用于评估的框,并检查它以进行验证。
要选择要使用的结果,就在验证选项卡上,单击选择要验证的结果.取消选择使用当前参数值
并选择EstimatedParams
,然后单击好吧.
的参数估计量,默认显示验证后的实验图。通过检查相应的方框来添加残差图验证选项卡。
要启动验证,请在验证选项卡上,单击验证.
检查图
实验图
可以看到,使用估计参数模拟的数据与测量的验证数据是一致的。
点击Residual plot: ValidationData以打开Residual plot。
残差表示模拟数据和测量数据之间的差异,在[-0.15,0.15]-最大输出变化的15%以内。这表明测量的数据值和模拟的表数据值之间匹配良好。
通过在MATLAB提示符下输入以下命令,根据验证数据集和模拟表值绘制和检查估计表值。
sim卡(“lookup_regular”图(2);情节(xdata2 ydata2,“m *”xout你,“b ^”)举行在;情节(linspace(0、6.5、10),表,“k”,“线宽”, 2)
图中黑线显示的表值匹配验证数据和模拟的表值。表数据值涵盖了整个输入值范围,这表明已经估算了所有的查询表值。