主要内容

findstatesOptions

选项集findstates

描述

例子

选择= findstatesOptions的默认选项集findstates.如果需要,可以使用点表示法自定义选项集。

例子

选择= findstatesOptions (名称,值用一个或多个指定的选项创建选项集名称,值对参数。未指定的选项保持默认值。

例子

全部折叠

创建选项集findstates通过配置初始状态的规范对象。

从数据中识别四阶状态空间模型。

负载iddata8z8;Sys = sest(z8,4);

z8是一个iddata对象,该对象包含时域系统响应数据。sys是四阶的中的难点从数据中识别的模型。

为模型的初始状态配置一个规范对象。

X0obj = idpar([1;nan(3,1)]);x0obj.Free(1) = false;x0obj.Minimum(2) = 0;x0obj.Maximum(2) = 1;

x0obj指定初始条件上的估计约束。当时,第一个状态的值指定为1x0obj被创建。x0obj.Free(1) = false将第一个初始状态指定为固定的估计参数。第二个状态是未知的。但是,x0obj.Minimum(2) = 0而且x0obj.Maximum(2) = 1指定第二个状态的下界和上界为0而且1,分别。

创建选项集findstates识别模型的初始状态。

opt = findstatesOptions;opt.InitialState = x0obj;

识别模型的初始状态。

x0_estimated = findstates(sys,z8,Inf,opt);

创建选项集findstates地点:

  • 初始状态的估计使预测误差的范数最小化。估计了非零时延对应状态的初始值。

  • 采用自适应子空间高斯-牛顿搜索进行估计。

opt = findstatesOptions(“InitialState”' d '“SearchMethod”“玲娜”);

输入参数

全部折叠

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:findstatesOptions (' InitialState ', ' d ')

初始状态的估计,指定为逗号分隔的对,由“InitialState”和以下其中之一:

  • “e”-初始状态的估计使预测误差的范数最小化。

    对于非线性灰盒模型,只有那些初始状态在模型中被指定为自由的(sys.InitialStates(我)。固定= false)的估计。要估计模型的所有状态,首先指定所有的Nx联合国成员国idnlgrey模型sys是免费的。

    i = 1:Nx sys.InitialStates(i)。固定= false;结束

    类似地,将所有初始状态固定为sys。我nitialStates,首先指定所有固定的状态sys。我nitialStates非线性灰盒模型的性质。

  • ' d '-类似于“e”,但将非零延迟吸收到模型系数中。延迟首先被转换为显式的模型状态,这些状态的初始值也被估计并返回。

    仅对离散时间线性模型使用此选项。

  • 向量或矩阵-使用非线性模型时状态值的初始猜测。指定长度等于状态数的列向量。对于多实验数据,使用矩阵列,是实验的次数。

    仅对非线性模型使用此选项。

  • x0obj-使用创建的规格对象idpar.使用x0obj通过固定初始状态的值或指定最小或最大边界来对初始状态施加约束。

    使用x0obj仅适用于非线性灰盒模型及线性状态空间模型(中的难点idgrey).此选项仅适用于预测视界等于1.看到findstates了解更多关于预测水平的细节。

在估计期间从时域输入数据中去除偏移量,指定为以下之一:

  • 长度为正整数的列向量ν,在那里ν是输入的数量。

  • []—表示没有偏移量。

  • ν——- - - - - -矩阵-对于多实验数据,指定InputOffset作为一个ν——- - - - - -矩阵。ν输入的数量和是实验的次数。

指定的每个条目InputOffset从相应的输入数据中减去。

在估计期间从时域输出数据中去除偏移量,指定为以下之一:

  • 长度的列向量纽约,在那里纽约是输出的数量。

  • []—表示没有偏移量。

  • 纽约——- - - - - -矩阵-对于多实验数据,指定OutputOffset作为一个纽约——- - - - - -矩阵。纽约是输出的数量,和是实验的次数。

指定的每个条目OutputOffset从相应的输出数据中减去。

使用多输出数据时预测误差的权重,指定为逗号分隔的对,由“OutputWeight”和以下其中之一:

  • []—不使用加权。指定为[]眼睛(纽约),在那里纽约是输出的数量。

  • “噪音”-模型中存储的噪声方差的逆用于初始状态估计期间的加权。

  • 正半定矩阵,W,大小纽约——- - - - - -纽约-此权重最小化跟踪(E * E * W)对于初始状态的估计,其中E为预测误差矩阵。

数值搜索方法用于迭代参数估计,指定为下表中的值之一。

SearchMethod 描述
“汽车”

自动方法选择

直线搜索算法的组合,“gn”“lm”“玲娜”,“研究生”,在每次迭代中依次尝试。使用了导致估计成本降低的第一下降方向。

“gn”

子空间高斯-牛顿最小二乘搜索。

雅可比矩阵的奇异值小于GnPinvConstant * eps *马克斯(大小(J)) *规范(J)在计算搜索方向时丢弃。J为雅可比矩阵。黑森矩阵近似为JTJ.如果这个方向没有改善,则函数尝试渐变方向。

“玲娜”

自适应子空间高斯-牛顿搜索。

小于的特征值γ*马克斯(sv)的黑森人被忽视了sv包含黑森人的奇异值。高斯-牛顿方向在剩余子空间中计算。γ具有初始值InitialGnaTolerance(见先进的“SearchOptions”更多信息)。这个值增加了一个因子LMStep每次搜索都不能在少于5次的等分中找到较低的标准值。此值按因子递减2 * LMStep每次搜索都是成功的,没有任何等分。

“lm”

Levenberg-Marquardt最小二乘搜索

每个参数值为-pinv (H + d *我)*毕业生从前面的值。H是黑森人,单位矩阵,和研究生是梯度。d是一个数字,该数字不断增加,直到找到准则的较低值为止。

“研究生”

最陡下降最小二乘搜索。

“lsqnonlin”

的信任区域反射算法lsqnonlin(优化工具箱)

  • 需要优化工具箱™软件。

“fmincon”

约束非线性求解器。

的顺序二次规划(SQP)和信任区域反射算法fmincon(优化工具箱)解算器。如果您有优化工具箱软件,您还可以使用内部点和活动集算法的fmincon解算器。中指定算法SearchOptions。算法选择。的fmincon算法可能会在以下情况下改善估计结果:

  • 模型参数有界时的约束极小化问题。

  • 对损失函数为参数的非线性或非光滑函数的结构进行建模。

  • 多输出模型估计。行列式损失函数默认情况下最小化用于多输出模型估计。fmincon算法可以直接将这种损失函数最小化。其他的搜索方法如“lm”而且“gn”通过交替估计噪声方差和降低给定噪声方差值的损失值来最小化行列式损失函数。因此,fmincon算法可以为多输出模型估计提供更好的效率和精度。

选项集,指定为逗号分隔的对,由“SearchOptions”和一个搜索选项集,其中包含依赖于的值的字段SearchMethod

SearchOptions结构时SearchMethod指定为“gn”“玲娜”“lm”“研究生”,或“汽车”

字段名 描述 默认的
宽容

损失函数的当前值与下一次迭代后的期望改进之间的最小百分比差,指定为正标量。当期望改善的百分比小于宽容,迭代停止。下一次迭代的预期损失函数改进的估计是基于对当前参数值计算的高斯-牛顿向量。

0.01
MaxIterations

损失函数最小化期间的最大迭代次数,指定为正整数。当迭代停止时MaxIterations达到或满足另一个停止条件,例如宽容

设置MaxIterations = 0返回启动过程的结果。

使用sys.Report.Termination.Iterations要获得估计期间的实际迭代次数,其中sys是一个idtf模型。

20.
先进的

高级搜索设置,指定为具有以下字段的结构:

字段名 描述 默认的
GnPinvConstant

雅可比矩阵奇异值阈值,指定为正标量。小于的雅可比矩阵的奇异值GnPinvConstant *马克斯(大小(J) *规范(J) * eps)在计算搜索方向时丢弃。适用时SearchMethod“gn”

10000
InitialGnaTolerance

的初始值γ,指定为正标量。适用时SearchMethod“玲娜”

0.0001
LMStartValue

搜索方向长度的起始值d在Levenberg-Marquardt方法中,指定为正标量。适用时SearchMethod“lm”

0.001
LMStep

Levenberg-Marquardt步长的大小,指定为正整数。搜索方向长度的下一个值d在Levenberg-Marquardt方法中是LMStep乘以前一个。适用时SearchMethod“lm”

2
MaxBisections

用于沿搜索方向进行直线搜索的最大等分数,指定为正整数。

25
MaxFunctionEvaluations

对模型文件的最大调用次数,指定为正整数。如果对模型文件的调用次数超过这个值,迭代就会停止。

MinParameterChange

每次迭代允许的最小参数更新,指定为非负标量。

0
RelativeImprovement

相对改进阈值,指定为非负标量。如果准则函数的相对改进小于此值,则迭代停止。

0
StepReduction

阶跃缩减因子,指定为大于1的正标量。建议的参数更新减少了因子StepReduction每次尝试后。这种减少持续到MaxBisections完成尝试或获得准则函数的较低值。

StepReduction是否适用于SearchMethod“lm”(Levenberg-Marquardt方法)。

2

SearchOptions结构时SearchMethod指定为“lsqnonlin”

字段名 描述 默认的
FunctionTolerance

软件最小化损失函数上的终止公差以确定估计的参数值,指定为正标量。

的价值FunctionTolerance和的一样吗opt.SearchOptions.Advanced.TolFun

1 e-5
StepTolerance

估计参数值上的终止公差,指定为正标量。

的价值StepTolerance和的一样吗opt.SearchOptions.Advanced.TolX

1 e-6
MaxIterations

损失函数最小化期间的最大迭代次数,指定为正整数。当迭代停止时MaxIterations达到或满足另一个停止条件,例如FunctionTolerance

的价值MaxIterations和的一样吗opt.SearchOptions.Advanced.MaxIter

20.
先进的

的选项集指定的高级搜索设置lsqnonlin

有关更多信息,请参见中的“优化选项”表优化选项(优化工具箱)

使用optimset(“lsqnonlin”)创建一个默认选项集。

SearchOptions结构时SearchMethod指定为“fmincon”

字段名 描述 默认的
算法

fmincon优化算法,指定为以下之一:

  • “sqp”——顺序二次规划算法。该算法在所有迭代中都满足边界,并且可以从结果。这不是一个大规模的算法。有关更多信息,请参见大规模vs.中型算法(优化工具箱)

  • “trust-region-reflective”——基于内反射牛顿法的子空间信赖域方法。这是一个大规模的算法。

  • “内点”-需要最优化工具箱软件的大规模算法。该算法在所有迭代中都满足边界,并且可以从结果。

  • “激活集”-需要最优化工具箱软件。该算法可以执行大步骤,从而提高速度。这不是一个大规模的算法。

有关算法的更多信息,请参见约束非线性优化算法(优化工具箱)而且选择算法(优化工具箱)

“sqp”
FunctionTolerance

软件最小化损失函数上的终止公差以确定估计的参数值,指定为正标量。

1 e-6
StepTolerance

估计参数值上的终止公差,指定为正标量。

1 e-6
MaxIterations

损失函数最小化期间的最大迭代次数,指定为正整数。当迭代停止时MaxIterations达到或满足另一个停止条件,例如FunctionTolerance

One hundred.

中指定字段值SearchOptions,创建一个默认findstatesOptions使用点表示法设置和修改字段。任何未修改的字段保持默认值。

opt = findstatesOptions;option . searchoptions . tolerance = 0.02;opt.SearchOptions.Advanced.MaxBisections = 30;

输出参数

全部折叠

选项集findstates,作为findstatesOptions选项设置。

版本历史

在R2012a中介绍

全部展开

另请参阅

|