主要内容

非线性黑箱模型的线性逼近

为什么要计算非线性模型的线性逼近?

控制设计和线性分析技术使用控制系统工具箱™软件需要线性模型。在对模型进行线性化之后,可以在这些应用程序中使用估计的非线性模型。在你线性化你的模型之后,你可以使用这个模型进行控制设计和线性分析。

选择你的线性逼近方法

系统识别工具箱™软件提供了计算线性近似的两种方法非线性ARXHammerstein-Wiener模型。

要计算给定输入信号的非线性模型的线性近似,请使用linapp命令。得到的模型只对用于计算线性近似的相同输入有效。有关更多信息,请参见给定输入的非线性黑盒模型的线性逼近

如果您希望在系统工作点附近精确地求得非线性动力学的切线近似,请使用线性化命令。得到的模型是系统关于工作点的一阶泰勒级数近似,工作点由恒定输入和模型状态值定义。有关更多信息,请参见非线性黑箱模型的切线线性化

给定输入的非线性黑盒模型的线性逼近

linapp在均方误差的意义上,计算给定输入或随机生成输入的非线性ARX或Hammerstein-Wiener模型的最佳线性近似值。所得到的线性模型可能只适用于与用于生成线性近似的输入信号相同的输入信号。

linapp估计与原非线性模型结构相似的最佳线性模型,并提供给定输入与相应非线性模型的模拟响应之间的最佳拟合。

要计算给定输入的非线性黑盒模型的线性近似,必须有以下变量:

  • 非线性ARX模型(idnlarx对象)或Hammerstein-Wiener模型(idnlhw对象)

  • 输入信号,你想获得一个线性近似,指定为一个实矩阵或一个iddata对象

linapp使用指定的输入信号计算线性近似:

  • 对于非线性ARX模型,linapp使用相同的模型阶估计线性ARX模型na,nk和原来的模型一样。

  • 对于Hammerstein-Wiener模型,linapp使用相同的模型阶估计线性输出误差(OE)模型nf,nk

要为随机生成的输入计算非线性黑箱模型的线性近似值,必须指定最小和最大输入值,以生成大小在此矩形范围内的白噪声输入。uminumax

有关更多信息,请参见linapp参考页面。

非线性黑箱模型的切线线性化

线性化计算了关于an的非线性系统动力学的一阶泰勒级数近似操作点,它由恒定的输入和模型状态值定义。所得线性模型在该工作点的局部邻域内是准确的。

要计算一个非线性黑箱模型的切线近似,你必须有这些变量:

  • 非线性ARX模型(idnlarx对象)或Hammerstein-Wiener模型(idnlhw对象)

  • 操作点

要指定系统的工作点,必须指定常量输入和状态。有关每种参数化模型的状态定义的更多信息,请参阅以下参考页面:

  • idnlarx-非线性ARX模型

  • idnlhw-非线性Hammerstein-Wiener模型

如果您不知道系统的工作点值,请参见非线性黑箱模型的工作点计算

有关更多信息,请参见idnlarx /线性化idnlhw /线性化参考页面。

非线性黑箱模型的工作点计算

一个操作点由常量输入和模型状态值定义。

如果你不知道你的系统的工作条件进行线性化,你可以使用findop根据规格计算工作点。

从稳态规范计算工作点

使用findop根据稳态规范计算工作点:

  • 输入和输出信号的值。
    如果稳态输入或输出值未知,则可以将其指定为来估计这个值。这在建模MIMO系统时特别有用,因为只有输入和输出稳态值的子集是已知的。

  • 更复杂的稳态规格。

    构造一个对象,该对象存储计算操作点的规范,包括输入和输出边界、已知值和初始猜测。有关更多信息,请参见idnlarx / operspecidnlhw / operspec

有关更多信息,请参见idnlarx / findopidnlhw / findop参考页面。

计算模拟快照的操作点

通过指定快照时间和输入值,计算模型仿真(快照)中特定时间的工作点。要使用此方法计算平衡工作点,请选择导致稳态输出值的输入。使用该输入和输出达到稳定状态的时间值(快照时间)计算工作点。

在使用这种方法时,指定模拟的初始条件是可选的,因为初始条件通常不影响稳态值。默认情况下,初始条件为零。

然而,对于非线性ARX模型,稳态输出值可能依赖于初始条件。对于这些模型,您应该研究初始条件对模型响应的影响,并使用产生所需输出的值。你可以用data2state将模拟开始前的输入输出信号值映射到模型的初始状态。因为初始状态是模型输入和输出值过去历史的函数,data2state通过转换数据生成初始状态。

另请参阅

|

相关的话题