关于确定非线性模型
非线性模型是什么?
动态模型的系统辨识工具箱™软件数学输入之间的关系u (t)和输出y (t)的一个系统。模型是动态因为输出当前时间价值取决于以前的时候瞬间的输入-输出值。因此,动态模型过去的记忆。您可以使用计算电流输出的输入-输出关系从以前的输入和输出。动态模型状态,状态向量包含过去的信息。
离散时间模型的一般形式是:
y(t)=f(u(t- 1),y(t- 1),u(t- 2),y(t- 2)、。)
这样一个模型是非线性函数f是一个非线性函数。f可能代表任意的非线性,如交换机和饱和度。
工具箱使用对象来表示各种线性和非线性模型结构。统称为非线性模型对象确定的非线性模型。这些模型是非线性系统的系数确定使用测量输入输出数据。看到非线性模型结构为更多的信息。
什么时候适合非线性模型
在实践中,所有系统都是非线性和输出是一个非线性函数的输入变量。然而,线性模型往往足以准确描述系统动力学。在大多数情况下,你应该首先尝试符合线性模型。
然而,在某些情况下,您可能需要额外的灵活性的非线性模型。
线性模型是不够好
时您可能需要非线性模型线性模型提供了一个适合测量输出信号差,不能提高通过改变模型结构或秩序。非线性模型比线性模型更灵活地获取复杂现象类似的订单。
物理系统是弱非线性
从物理洞察力和数据分析,您可能知道弱非线性系统。在这种情况下,你可以估计一个线性模型,然后使用这个模型作为初始模型非线性估计。非线性估计可以提高模型的适合用非线性组件结构捕获动态线性模型无法解释的。有关更多信息,请参见初始化非线性ARX使用线性模型估计和初始化Hammerstein-Wiener使用线性模型估计。
物理系统本质上是非线性的
你可能有物理洞察力系统是非线性的。某些现象在本质上是非线性的,包括干摩擦在机械系统中,执行器饱和,和传感器非线性机电系统。你可以尝试使用Hammerstein-Wiener模型建模这样的系统结构,它可以让你互连与静态非线性线性模型。有关更多信息,请参见识别Hammerstein-Wiener模型。
非线性模型可能需要代表系统操作在一个范围内的操作点。在某些情况下,你可能适合多个线性模型,每个模型是准确的在特定的操作条件。你也可以尝试使用非线性ARX模型结构树这样的系统分区模型。有关更多信息,请参见识别非线性ARX模型。
如果你知道非线性方程描述一个系统,这个系统可以代表作为一个非线性灰色矩形模型和估计系数的实验数据。在这种情况下,系数的参数模型。有关更多信息,请参见灰色矩形模型估计。
在拟合非线性模型之前,尝试改变你的输入和输出变量,改变变量之间的关系成为线性的。举个例子,你可能会处理系统电流和电压作为输入浸没式加热器,加热的温度和液体作为输出。在这种情况下,输出取决于输入通过加热器的力量等于电流和电压的乘积。而不是拟合非线性模型两个输入和一个输出数据,您可以创建一个新的输入变量通过电流和电压的乘积。然后您可以符合线性模型对于单输入/数据。
线性和非线性动力学分别抓获
你可能会有多个数据集,分别捕获的线性和非线性动力学。例如,一个数据集振幅较低输入(仅兴奋线性动力学)和高振幅的另一个数据集的输入(激发非线性动力学)。在这种情况下,首先估计线性模型使用的第一个数据集。接下来,使用模型作为初始模型来估计非线性模型使用第二个数据集。更多的信息,知道了初始化非线性ARX使用线性模型估计和初始化Hammerstein-Wiener使用线性模型估计。
非线性模型估计
黑盒估计
在一个黑盒或“冷启动”估计,您只需要指定配置的结构模型。
sys =估计量(数据、订单)
在哪里估计量
是一个估计命令的名字用于所需的模型类型。
例如,您使用nlarx
估计非线性ARX模型,nlhw
Hammerstein-Wiener模型。
第一个参数,数据
时域数据表示为一个iddata
对象。第二个参数,订单
,代表一个或多个数字的定义取决于模型类型。
对于非线性ARX模型,
订单
指的是订单和延迟定义回归量配置模型。或者,您可以显式地指定线性多项式,和客户解释。对于Hammerstein-Wiener模型,
订单
指的是模型秩序和延迟线性子系统的传递函数。
在使用系统识别应用程序时,您指定命令或适当编辑字段的对应模型中解释变量估计对话框。
精炼现有模型
你可以完善之前估计的非线性模型的参数使用以下命令:
sys =估计量(数据、sys0)
这个命令更新现有模型的参数sys0
适合的数据并返回结果输出模型sys
。对于非线性系统,估计量可以nlarx
,nlhw
,或nlgreyest
。
初始化线性估计与已知信息组件
非线性ARX (idnlarx
)和Hammerstein-Wiener (idnlhw
)模型包含一个线性组件结构。如果你有线性动力学的知识,比如通过使用低烈度数据线性模型的识别,你可以把它在非线性模型的估计。特别是,您可以替换订单
与之前估计的线性模型输入参数使用以下命令:
sys =估计量(数据、LinModel)
这个命令使用了线性模型LinModel
确定非线性模型的顺序sys
以及初始化系数的线性组件。
估计选项
有很多选项与一个配置的估计算法估计目标函数,初始条件,和数值搜索算法等的模型。每一个命令,估计估计量
,有一个相应的选项命令命名估计量
选项
。例如,使用nlarxOptions
生成的选项集nlarx
。命令返回一个选项设置的选项,然后您将作为输入参数传递给相应的估计命令。
例如,估计非线性ARX模型模拟
关注和lsqnonlin
搜索方法,使用nlarxOptions
。
负载iddata1z1选择= nlarxOptions (“焦点”,“模拟”,“SearchMethod”,“lsqnonlin”);sys = nlarx (z1(2 2 1)选项);
选择用于创建的信息存储在估计模型sys.Report.OptionsUsed
。有关更多信息,请参见评估报告。