Извлеките смещения 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
непосредственно.
info
— Информация о линеаризацииИнформация о линеаризации возвращена точными командами линеаризации, заданными как структура. Эта структура имеет Offsets
поле, которое содержит N1-by-...
- Nm массив структур, где N1 к Nm размерности массива рабочей точки или сетки параметра, используемой в линеаризации. Каждая структура в info.Offsets
содержит информацию о смещении, которая соответствует определенной рабочей точке.
Можно сохранить и получить смещения линеаризации, когда вы линеаризуете свою модель с помощью одной из следующих команд:
Например:
opt = linearizeOptions('StoreOffsets',true);
[sys,op,info] = linearize(mdl,io,params,opt);
Можно затем извлечь информацию о смещении с помощью getOffsetsForLPV
.
offsets = getOffsetsForLPV(info);
offsets
— Смещения линеаризацииСмещения линеаризации, соответствующие рабочим точкам, в которых линеаризовалась модель, возвратились как структура со следующими полями:
Поле | Описание |
---|---|
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.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.