getOffsetsForLPV

Извлеките смещения LPV из результатов линеаризации

Описание

пример

offsets = getOffsetsForLPV(info) линеаризация извлечений возмещает от info и преобразует их в формат массивов, поддержанный блоком LPV System.

Примеры

свернуть все

Откройте модель Simulink.

model = 'watertank';
open_system(model)

Задайте линеаризацию I/Os.

io(1) = linio('watertank/Desired  Water Level',1,'input');
io(2) = linio('watertank/Water-Tank System',1,'output');

Варьируйтесь параметры объекта A и b, и создайте сетку параметра 3 на 4.

[A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),linspace(0.9*b,1.1*b,4));
params(1).Name = 'A';
params(1).Value = A_grid;
params(2).Name = 'b';
params(2).Value = b_grid;

Создайте набор опции линеаризации, установив StoreOffsets опция к true.

opt = linearizeOptions('StoreOffsets',true);

Линеаризуйте модель с помощью заданной сетки параметра и возвратите смещения линеаризации в info структура.

[sys,op,info] = linearize('watertank',io,params,opt);

Извлеките смещения линеаризации.

offsets = getOffsetsForLPV(info)
offsets = 

  struct with fields:

     x: [2x1x3x4 double]
     y: [1x1x3x4 double]
     u: [1x1x3x4 double]
    dx: [2x1x3x4 double]

Чтобы сконфигурировать блок LPV System, используйте поля от offsets непосредственно.

Входные параметры

свернуть все

Информация о линеаризации, возвращенная точными командами линеаризации в виде структуры. Эта структура имеет Offsets поле, которое содержит N1-by-...- Nm массив структур, где N1 к Nm размерности массива рабочей точки или сетки параметра, используемой в линеаризации. Каждая структура в info.Offsets содержит информацию о смещении, которая соответствует определенной рабочей точке.

Можно сохранить и получить смещения линеаризации, когда вы линеаризуете свою модель с помощью одной из следующих команд:

Например:

opt = linearizeOptions('StoreOffsets',true);
[sys,op,info] = linearize(mdl,io,params,opt);

Можно затем извлечь информацию о смещении с помощью getOffsetsForLPV.

offsets = getOffsetsForLPV(info);

Выходные аргументы

свернуть все

Смещения линеаризации, соответствующие рабочим точкам, в которых линеаризовалась модель, возвратились как структура со следующими полями:

Поле Описание
xСмещения состояния используются в линеаризации, возвращенной как nx-by-1-by-N1-by-...- Nm массив, где nx является количеством состояний в линеаризованной системе.
yВыведите смещения, используемые в линеаризации, возвращенной как ny-by-1-by-N1-by-...- Nm массив, где ny является количеством выходных параметров в линеаризованной системе.
uВведите смещения, используемые в линеаризации, возвращенной как nu-by-1-by-N1-by-...- Nm массив, где nu является количеством входных параметров в линеаризованной системе.
dxПроизводные смещения для непрерывных систем времени или обновленные значения состояния для систем дискретного времени, возвратились как nx-by-1-by-N1-by-...- Nm массив.

Например, предположите, что ваша модель имеет три входных параметров, два выходных параметров и четыре состояния. Если вы линеаризуете свою модель с помощью 5 6 массив рабочих точек, offsets содержит массивы со следующими размерностями:

  • offsets.x — 4 1 5 6

  • offsets.y — 2 1 5 6

  • offsets.u — 3 1 5 6

  • offsets.dx — 4 1 5 6

Чтобы сконфигурировать блок LPV System, можно использовать поля offsets непосредственно. Для примера смотрите, что Аппроксимирующее Нелинейное Поведение Использует Массив Систем LTI.

Введенный в R2017b