主要内容

getOffsetsForLPV

从线性化结果中提取LPV偏移量

描述

例子

偏移量= getOffsetsForLPV (信息提取线性化偏移信息并将它们转换为金宝appLPV系统块。

例子

全部折叠

打开Simulin金宝appk模型。

模型=“watertank”;open_system(模型)

指定线性化I / Os。

io (1) = linio (“watertank /期望的水位”,1,“输入”);io (2) = linio (“watertank /水箱系统”,1,“输出”);

不同植物参数一个b,并创建一个3乘4的参数网格。

[A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 3), linspace (0.9 * b, b 1.1 * 4));参数(1)。Name =“一个”;参数(1)。值= A_grid;参数(2)。Name =“b”;参数(2)。值= b_grid;

创建一个线性化选项集,设置StoreOffsets选项真正的

选择= linearizeOptions (“StoreOffsets”,真正的);

中使用指定的参数网格对模型进行线性化,并返回线性化偏移量信息结构。

(sys、人事处、信息)=线性化(“watertank”、io、参数选择);

提取线性化偏移量。

偏移量= getOffsetsForLPV(信息)
offset = struct with fields: x: [2x1x3x4 double] y: [1x1x3x4 double] u: [1x1x3x4 double] dx: [2x1x3x4 double]

要配置LPV System块,请使用偏移量直接。

输入参数

全部折叠

由精确线性化命令返回的线性化信息,指定为结构。这个结构有一个偏移量字段,其中包含N1——- - - - - -...——- - - - - -N结构的数组,其中N1N为用于线性化的工作点阵列或参数网格的尺寸。每一个结构信息。偏移量包含与特定工作点对应的偏移量信息。

当您使用以下命令之一对模型进行线性化时,您可以存储并获取线性化偏移量:

例如:

选择= linearizeOptions (“StoreOffsets”,真正的);[sys, op,信息]=线性化(mdl、io、参数选择);

然后可以使用getOffsetsForLPV

偏移量= getOffsetsForLPV(信息);

输出参数

全部折叠

模型被线性化的工作点对应的线性化偏移量,返回为一个结构,其字段如下:

描述
x 用于线性化的状态偏移,返回为nx-by-1-by -N1——- - - - - -...——- - - - - -N数组,nx是线性化系统的状态数。
y 用于线性化的输出偏移量,返回为ny-by-1-by -N1——- - - - - -...——- - - - - -N数组,ny为线性化系统的输出数。
u 用于线性化的输入偏移量,作为nu-by-1-by -N1——- - - - - -...——- - - - - -N数组,nu为线性化系统的输入个数。
dx 连续时间系统的导数偏移量,或离散时间系统的更新状态值,以nx-by-1-by -N1——- - - - - -...——- - - - - -N数组中。

例如,假设您的模型有三个输入、两个输出和四个状态。如果你用5乘6的操作点数组来线性化你的模型,偏移量包含以下维度的数组:

  • offsets.x——4-by-1-by-5-by-6

  • offsets.y——2-by-1-by-5-by-6

  • offsets.u——3-by-1-by-5-by-6

  • offsets.dx——4-by-1-by-5-by-6

配置一个LPV系统块中的字段,则可以使用偏移量直接。例如,请参见LTI系统阵列的近似非线性行为

介绍了R2016b