本教程展示了如何估计参数对于单变量模型的输出金宝app<年代up>®模型从测量输入和输出(I / O)的数据。
请注意
金宝app仿真软件优化设计™软件估计参数的时域数据。
您可以执行以下任务使用<年代trong class="app">参数估计量:
加载保存会话包含的数据
估计模型参数使用默认设置
验证模型,细化评估结果
本教程使用的spe_engine_throttle1
金宝app仿真软件模型,它代表了发动机节气门系统。
节气门系统控制空气和燃料的混合物的流引擎汽缸。打开节流阀的身体包含一个蝶阀,当一个司机按下油门踏板。打开阀门燃料混合气进入气缸的数量增加,这就增加了发动机转速。直流电机控制蝶阀的开度角在节气门系统。这些组件中描述的模型<一个href="//www.tatmou.com/au/au/help/sldo/gs/estimate-parameters-from-measured-data-using-the-gui.html" class="intrnllnk">汽车子系统和<一个href="//www.tatmou.com/au/au/help/sldo/gs/estimate-parameters-from-measured-data-using-the-gui.html" class="intrnllnk">节流子系统。
节流系统电机的输入电流(安培),和输出的角位置蝶阀(度)。
汽车子系统。的电动机
子系统包含直流电机模型。打开模型中,双击相应的块。
组件的电动机 子系统 |
描述 |
---|---|
变量 | U是电机的输入电流。 T由电机转矩应用。 |
参数 |
|
方程 | 电机的转矩应用中描述以下方程:
在哪里t是时间。 |
输入 | U |
输出 | T |
节流子系统。的节气门
子系统包含蝶阀模型。打开模型,右键单击相应的块,并选择<年代trong class="guimenuitem">面具><年代trong class="guimenuitem">看下面具。
的很难停止
块模型阀15°- 90°角位置限制。
下表描述了变量、参数、状态,微分方程,输入和输出的。
组件的节气门 子系统 |
描述 |
---|---|
变量 | T由直流电机转矩应用。 θ阀门的角位置,由 T<年代ub>hardstop的转矩应用很难停止。 |
参数 |
|
州 | 角位置。 是角速度。 |
方程 | 蝶阀的数学系统中描述以下方程:
在哪里<年代p一个n class="inlineequation"> ,初始条件<年代p一个n class="inlineequation"> ,<年代p一个n class="inlineequation"> 。 所应用的转矩
在哪里 |
输入 | T |
输出 | θ |
金宝app仿真软件优化设计软件使用优化技术来估计模型参数。在每个优化迭代,它模拟了模型与当前参数值。计算和模拟和测量输出之间的误差最小化。估计完成优化方法找到一个局部最小值。
启动估计过程,首先打开发动机节气门系统通过输入下面的MATLAB仿真软件模型金宝app<年代up>®提示:
spe_engine_throttle1
在仿真软件将来金宝app发布,<年代trong class="guilabel">应用程序选项卡,在<年代trong class="guilabel">控制系统中,选择<年代trong class="guilabel">参数估计量。
该操作将会打开一个新的会话名称<年代trong class="guilabel">参数估计——spe_engine_throttle1在<年代trong class="app">参数估计量。
请注意
执行参数金宝app估计的仿真软件模型必须保持开放的任务。
负载或导入评估数据。
如果你准备数据和保存会话中描述<一个href="//www.tatmou.com/au/au/help/sldo/gs/prepare-data-for-parameter-estimation-using-the-gui.html" class="a">准备数据进行参数估计、加载预配置会话。在<年代trong class="guilabel">参数估计选项卡上,单击公开会议
下拉列表中。
选择正确的选项,浏览到的位置保存会话,例如,打开的文件
。然后选择MAT-file。
如果你没有以前保存的会话中,创建一个新的实验。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">新实验。在<年代trong class="guilabel">实验在左窗格中。您可以通过右击并选择rename<年代trong class="guilabel">重命名从列表中。例如,调用它NewData1
。
导入数据到实验中,右键单击并选择<年代trong class="guimenuitem">编辑……实验启动编辑器。导入对话框中的输入输出数据的<年代trong class="guilabel">输出面板中,例如[time1, position1]
。导入对话框中的输入数据通过输入<年代trong class="guilabel">输入面板中,例如[time1, input1]
。
指定参数估计。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">选择参数按钮打开<年代trong class="guilabel">编辑:估计参数对话框。在<年代trong class="guilabel">所有的实验参数调整面板中,单击<年代trong class="guibutton">选择参数按钮来启动<年代trong class="guilabel">选择模型的变量对话框。
选择的参数J
,c
,input_delay
,k
,然后单击<年代trong class="guibutton">好吧。
请注意
在您的应用程序,如果你想要的模型参数估计没有列出选择模型中的变量对话框,首先指定这些参数作为变量。看到的,<一个href="//www.tatmou.com/au/au/help/sldo/ug/specify-parameters-to-estimate-gui.html" class="a">添加模型参数估计的变量。
的<年代trong class="guilabel">编辑:估计参数现在看起来如下所示的窗口。
应用程序选择默认你添加的参数估计。当评估大量的参数,你可以先选择一个子集的参数估计。
你也可以首先使用<一个href="//www.tatmou.com/au/au/help/sldo/sensitivity-analysis.html" class="a">敏感性分析确定影响最大的参数估计,然后指定这些参数估计。打开<年代trong class="app">灵敏度分析仪,在<年代trong class="guilabel">参数估计选项卡上,单击<年代p一个n class="guiicon">敏感性分析。在<年代trong class="app">灵敏度分析仪,您可以确定影响最大的模型参数的估计问题,计算初始值估计参数。
为评估指定一个实验。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">选择实验,并选择下的盒子<年代trong class="guilabel">估计列。点击<年代trong class="guibutton">好吧。
添加情节进展,点击<年代trong class="guibutton">添加图在<年代trong class="guilabel">参数估计选项卡。在这里你可以选择<年代trong class="guilabel">参数轨迹和<年代trong class="guilabel">估计成本迭代的阴谋。你也可以选择一个实验的测量和模拟数据NewData1
。
估计的参数使用默认设置。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">估计打开<年代trong class="guilabel">参数轨迹情节和<年代trong class="guilabel">评估进展报告窗口和估计参数。的<年代trong class="guibutton">参数轨迹图显示了在每个迭代参数值的变化。
的<年代trong class="guilabel">评估进展报告显示了迭代次数,次数计算目标函数,成本函数的值在每个迭代。估计收敛后,<年代trong class="guilabel">评估进展报告看起来这个数字。
估计的参数保存在<年代trong class="app">参数估计量,在<年代trong class="guilabel">结果部分的<年代trong class="guilabel">数据浏览器窗格中,EstimatedParams
。右键单击EstimatedParams
,并选择<年代trong class="guilabel">打开……查看结果。
检查估计成本函数图。成本函数模拟和测量输出之间的误差。在评估期间,默认的优化方法非线性最小二乘
,<一个href="//www.tatmou.com/au/au/help/optim/ug/lsqnonlin.html">lsqnonlin
,最小化代价函数通过改变参数值。下图显示了迭代期间预期成本的变化。
检查看看模拟响应图,模拟输出匹配的测量输出。实验图显示,输出模拟使用估计的参数接近测量输出。
提高估计的精度可以通过指定参数值范围。这种技术限制的区域优化方法搜索一个局部最小值。
发动机节气门系统有这些特征:
所有的参数值是积极的。
的最大延时系统,为代表input_delay
是0.1秒。
因此,为所有参数指定0作为最小值,和0.1的最大价值input_delay
。在<年代trong class="app">参数估计量,单击<年代trong class="guibutton">选择参数按钮来指定参数值范围。对于每个参数,单击右箭头切换显示最小值,最大值,和规模。通过替换指定每个参数的最小值负
与0
在<年代trong class="guilabel">最低字段。指定的最大值input_delay
通过替换+正
与0.1
在相应的<年代trong class="guilabel">最大字段。
估计的参数后,实验分析结果用情节和情节的预期成本。
数据模拟同意使用估计参数值与测量数据比当没有指定的参数限制。
估计模型参数后,验证模型使用另一个数据集<年代p一个n class="emphasis">(验证数据)。模拟响应之间的良好匹配,验证数据表明你没有overfitted模型。
验证参数估计使用验证数据集:
创建一个新的用于验证实验。它的名字ValidationData
。导入验证I / O数据,input2
和position2
,和时间向量,time2
在ValidationData
实验。要做到这一点,<年代trong class="app">参数估计量在实验面板中,右键单击ValidationData
并选择<年代trong class="guilabel">编辑……打开编辑器实验。然后,类型[time2, position2]
在输出对话框[time2, input2]
在输入对话框。有关更多信息,请参见<一个href="//www.tatmou.com/au/au/help/sldo/ug/import-data-gui.html" class="a">导入数据进行参数估计。
选择实验进行验证。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">选择实验。默认情况下,ValidationData
选择实验评估。取消选中对应的复选框ValidationData
为验证评估并选择复选框。
选择要使用的结果。在<年代trong class="guilabel">验证选项卡上,单击<年代trong class="guibutton">选择结果来验证。
取消选择使用当前参数值
并选择EstimatedParams
,然后单击<年代trong class="guibutton">好吧。
为测量和模拟数据,选择故事情节和残差<年代trong class="guilabel">验证选项卡。你可以评估使用估计的数据模拟参数同意使用这些测量数据块。
在<年代trong class="guilabel">验证选项卡上,单击<年代trong class="guibutton">验证开始验证。
检查的阴谋。
检查实验阴谋看看模拟输出匹配的输出数据。
模拟反应如浅棕色的顶部所示实验情节是覆盖在测量出数据,并匹配测量验证数据。
检验残差图比较模拟响应和测量数据之间的差异。
模拟和测量数据之间的差异2和-2.5之间变化。6%以内的残差最大输出变化和不显示任何系统的模式。这表明之间的适合模拟输出和测量数据。
保存会话。在<年代trong class="guilabel">参数估计选项卡上,单击<年代trong class="guibutton">保存会话。
从下拉列表中选择在哪里保存会话。指定文件名,然后单击<年代trong class="guibutton">保存或<年代trong class="guilabel">好吧保存参数估计MAT-file会话。