主要内容

关于鉴定非线性模型

什么是非线性模型?

在系统辨识工具箱™软件动态模型的输入之间的数学关系u (t)和输出y (t)的一个系统。模型是动态的因为当前时间的输出值取决于前一个时间点的输入输出值。因此,动态模型具有过去的记忆。您可以使用输入-输出关系从以前的输入和输出计算当前的输出。动态模型有状态,其中状态向量包含过去的信息。

在离散时间模型的一般形式为:

yT.)=FT.- 1)yT.- 1)T.- 2)yT.- 2),。。。)

这样的模型是非线性的,如果函数F为非线性函数。F可以表示任意的非线性,如开关和饱和度。

工具箱使用对象来表示各种线性和非线性模型结构。非线性模型对象统称为识别非线性模型。这些模型表示与被使用测量的输入输出数据中识别系数非线性系统。看非线性模型结构为更多的信息。

当以适合非线性模型

在实践中,所有的系统是非线性的,输出是输入变量的非线性函数。然而,线性模型通常是足够精确地描述系统动态特性。在大多数情况下,你应该首先尝试以适应线性模型。

然而,对于某些场景,您可能需要非线性模型的额外灵活性。

线性模型不够好

当一个线性模型提供了一个差拟合所测量的输出信号,并且不能由改变模型结构或顺序来改进可能需要非线性模型。非线性模型在获取比同类订单的线性模型的复杂现象更多的灵活性。

物理系统是弱非线性的

从物理洞察力和数据分析,你可能知道,一个系统是弱非线性。在这种情况下,可以估算的线性模型,然后使用该模型作为非线性估计的初始模型。非线性估计可以通过使用模型结构的非线性分量以捕获未由线性模型解释的动力学改善配合。有关更多信息,请参阅用线性模型初始化非线性ARX估计用线性模型初始化Hammerstein-Wiener估计

物理系统本质上是非线性的

你可能从物理上认识到你的系统是非线性的。某些现象本质上是非线性的,包括机械系统中的干摩擦、执行器的功率饱和和机电系统中的传感器非线性。您可以尝试使用Hammerstein-Wiener模型结构对这样的系统进行建模,它允许您将线性模型与静态非线性连接起来。有关更多信息,请参阅确定的Hammerstein - 维纳模型

非线性模型可能是必要的,以表示在一个操作点范围内运行的系统。在某些情况下,您可能适合几个线性模型,其中每个模型在特定的操作条件下是准确的。您还可以尝试使用带有树分区的非线性ARX模型结构来为此类系统建模。有关更多信息,请参阅识别非线性ARX模型

如果知道描述系统中的非线性方程组,可以代表该系统作为非线性灰盒模型和实验数据估计的系数。在这种情况下,系数是模型的参数。有关更多信息,请参阅灰盒模型估计

在拟合非线性模型之前,尝试转换输入和输出变量,使转换后的变量之间的关系变成线性的。例如,您可能正在处理一个系统,该系统将电流和电压作为浸入式加热器的输入,并将被加热液体的温度作为输出。在这种情况下,输出取决于通过加热器的功率输入,这等于电流和电压的乘积。您可以通过取电流和电压的乘积来创建一个新的输入变量,而不是将一个非线性模型拟合到两个输入和一个输出的数据中。然后,您可以将一个线性模型拟合到单输入/单输出数据中。

线性和非线性动力学分别被捕获

您可能有多个数据集分别捕获线性和非线性动态。例如,一个低振幅输入的数据集(只激发线性动力学)和另一个高振幅输入的数据集(激发非线性动力学)。在这种情况下,首先使用第一个数据集估计一个线性模型。接下来,使用该模型作为初始模型,使用第二个数据集估计非线性模型。有关更多信息,请参阅用线性模型初始化非线性ARX估计用线性模型初始化Hammerstein-Wiener估计

非线性模型估计

黑盒估计

在黑盒或“冷启动”评估中,您只需要指定配置模型结构的顺序。

sys =估计量(数据,订单)

在哪里估计量用于所需模型类型的估计命令的名称。

例如,你用nlarx估计非线性ARX模型,nlhwHammerstein-Wiener模型。

第一个参数,数据是时域数据表示为iddata目的。第二个参数,订单,是指它的定义取决于模型类型的一个或多个数字。

  • 对于非线性ARX模型,订单参考定义回归器配置的模型顺序和延迟。或者,您可以显式地指定线性、多项式和客户回归器。

  • 对于Hammerstein-Wiener模型,订单为线性子系统传递函数的模型阶数和时滞。

在系统识别应用程序中工作时,您可以在相应的模型估计对话框的适当编辑字段中指定订单或回归器。

精炼现有模型

您可以调整使用以下命令先前估计的非线性模型的参数:

sys =估计量(数据,sys0)

该命令用于更新已存在模型的参数sys0来拟合数据,并返回输出模型的结果SYS。对于非线性系统,估计量nlarxnlhw, 或者nlgreyest

初始化估计与已知的信息关于线性组件

非线性ARX (idnlarx)和的Hammerstein-维纳(idnlhw)模型包含在其结构中的线性成分。如果你有非线性动力学,如通过使用低幅度数据线性模型的识别知识,你可以非线性模型的估计中包含它。特别是,你可以更换订单与使用以下命令先前估算的线性模型的输入参数:

sys =估计量(数据,LinModel)

此命令使用线性模型LinModel以确定所述非线性模型的阶SYS以及初始化它的直线成分的系数。

估计选项

有与配置估计目标函数,初始条件和数值搜索算法,其中模型的其他事物的估计算法相关的许多选项。对于每一个估计命令,估计量,则有一个对应的选项命令名为估计量选项。例如,使用nlarxOptions以生成选项集nlarx。选项命令返回一个选项组时,传递作为输入参数对应的估计命令。

例如,估计一个非线性ARX模型模拟作为重点lsqnonlin作为搜索的方法,使用nlarxOptions

加载iddata1z1选择= nlarxOptions (“焦点”“模拟”'SearchMethod'“lsqnonlin”);SYS = nlarx(Z1,[2 2 1],选项);

有关用于创建一个估计的模型选项的信息存储在sys.Report.OptionsUsed。有关更多信息,请参阅评价报告

相关例子

更多关于