软件如何将参数估计表述为优化问题
作为优化问题的参数估计概述
当您执行参数估计时,软件会提出一个优化问题。优化问题的解是估计的参数值集。该优化问题包括:
x- - - - - -
设计变量.需要估计的模型参数和初始状态。 F(
x) - - - 目标函数.计算模拟响应和测量响应之间的差值的函数。也被称为 成本函数或 估计误差. (可选)<年代pan class="inlineequation"> - - - - - -
界限.对估计参数值的限制。 (可选)
C( x) - - - 约束函数.指定对设计变量的限制的函数。
优化求解器调整设计变量的值以满足指定的目标和约束条件。优化的确切公式取决于您使用的优化方法。
成本函数
该软件调整模型参数以获得模拟响应(
类型
原始估计误差,
e(
万博1manbetx®优化设计™软件为您提供以下成本函数来处理
成本函数 | 配方 | GUI或命令行中的选项名称 |
---|---|---|
和平方误差(默认) |
N是样本的数量。 |
上交所的 |
和绝对误差 |
N是样本的数量。 |
SAE的 |
生错误 |
N是样本的数量。 |
此选项仅在命令行中可用。 |
自定义函数 | N/A | 此选项仅在命令行中可用。 |
时基
该软件评估特定时间间隔的成本函数。这个区间依赖于
被测信号时基由被测信号指定的所有时间点组成。当有多个被测信号时,这个时基是所有被测信号的时间点的并集。
被模拟信号时基由模型被模拟的所有时间点组成。
如果模型使用变步长求解器,那么模拟的信号时基可以从一个优化迭代改变到另一个优化迭代。模拟和测量信号时基可以不同。该软件只计算两者共同的时间间隔的代价函数。默认情况下,软件只使用公共时间间隔内被测信号指定的时间点。
在图形界面中,您可以在<年代trong class="guilabel">仿真时间区域的<年代trong class="guilabel">模拟选项对话框。
在命令行中,软件指定模拟停止时间作为测量信号时基的最后一点。例如,下面的代码模拟模型,直到最长运行输出信号的结束时间
经验值
,一个sdo。实验
对象:sim_obj = createSimulator (exp);sim_obj = sim (sim_obj);
sim_obj
包含与关联的模型的模拟响应经验值
.
边界和约束
您可以根据您对系统的了解,指定设计变量(估计的模型参数)的边界。边界表示为:
而且<年代pan class="inlineequation"> 是设计变量的上下限。
例如,在电池放电实验中,估计的电池初始电荷必须大于零,小于正
.这些边界表示为:
有关如何指定这些类型的边界的示例,请参见估计模型参数和初始状态(代码).
您还可以指定其他约束,
x1而且
有关如何指定约束的示例,请参见有参数约束的模型参数估计(编码).
优化方法和问题公式
优化问题可以是以下类型之一:
最小化问题-最小化目标函数,
F( x).您指定希望模型输出跟踪的测量信号。您可以选择为估计的参数指定边界。 混合最小化和可行性问题-最小化目标函数,
F( x),受指定界限及限制, C( x).您指定希望模型跟踪的测量信号以及估计参数的边界和约束条件。 可行性问题——找到一个满足指定约束条件的解决方案,
C( x).您只需为估计的参数指定边界和约束。这类问题在参数估计中并不常见。
您指定的优化方法决定了估计问题的公式。软件提供以下优化方法:
优化方法的名字 | 描述 | 优化问题制定 |
---|---|---|
|
最小化残差的平方,推荐的参数估计方法。 这种方法需要一个误差残差矢量,使用固定的时间基数计算。如果您有一个标量代价函数,或者错误残差的数量可以从一个迭代到另一个迭代改变,那么不要使用这种方法。 此方法使用优化工具箱™函数, |
|
|
一般的非线性求解器,采用代价函数梯度。 如果您想指定以下一个或任意组合,请使用此方法:
该方法使用优化工具箱功能, 有关如何计算梯度的信息,请参见梯度计算. |
|
|
该方法基于Nelder-Mead算法,不使用成本函数梯度。 如果你的成本函数或约束条件不是连续或可微的,可以使用这种方法。 此方法使用优化工具箱函数, |
|
|
直接搜索法,基于广义模式搜索算法,该方法不使用代价函数梯度。 如果你的成本函数或约束条件不是连续或可微的,可以使用这种方法。 此方法使用<年代pan class="entity">全局优化工具箱函数, |
另请参阅
sdo。模拟
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">sdo。实验
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">sdo.requirements.SignalTracking
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">evalRequirement
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">lsqnonlin
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fmincon
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fminsearch
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">fminbnd
|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">patternsearch
(全局优化工具箱)