Задайте выборки параметра для пакетной линеаризации

О выборках параметра

Параметры блоков конфигурируют модель Simulink® несколькими способами. Например, можно использовать параметры блоков, чтобы задать различные коэффициенты или шаги расчета контроллера. Можно также использовать дискретный параметр, как вход управления с блоком Multiport Switch, чтобы управлять информационным каналом в модели. Варьируясь значение параметра помогает вам изучить его удар на поведение модели.

При использовании любого из инструментов линеаризации Simulink Control Design™ (или настраивающийся с slTuner или Control System Tuner) можно задать набор значений параметров блоков, в которых можно линеаризовать модель. Полный набор значений называется parameter grid или parameter samples. Пакет инструментов - линеаризует модель, вычисляя линеаризацию для каждого значения в сетке параметра. Можно варьироваться несколько параметров, таким образом расширяя размерность сетки параметра. При использовании инструментов линеаризации командной строки, linearize команда или slLinearizer или slTuner интерфейсы, вы задаете выборки параметра с помощью структуры с полями Name и Value. В Model Linearizer или Control System Tuner, вы используете графический интерфейс, чтобы задать выборки параметра.

Какие параметры могут быть выбраны?

Можно варьироваться любой параметр модели, значение которого дано переменной в рабочем пространстве модели, рабочей области MATLAB® или словаре данных. В случаях, где различные параметры весь настраиваемые (Simulink), инструменты линеаризации требуют, чтобы только одна компиляция модели вычислила передаточные функции для различных значений параметров. Этот КПД особенно выгоден для моделей, которые являются дорогими, чтобы неоднократно компилировать.

Для получения дополнительной информации смотрите Пакетный КПД Линеаризации, Когда Вы Будете Варьироваться Значения параметров.

Варьируйтесь один параметр в командной строке

Варьироваться значение одного параметра для пакетной линеаризации с linearize, slLinearizer, или slTuner, задайте сетку параметра как структуру, имеющую два поля. Name поле содержит имя переменной рабочей области, которая задает параметр. Value поле содержит вектор значений для того параметра, чтобы взять во время линеаризации.

Например, Watertank модель имеет три параметра, заданные как переменные рабочего пространства MATLAB, aB, и A. Следующие команды задают сетку параметра для одного параметра для A.

param.Name = 'A';
param.Value = Avals;

Здесь, Avals массив, задающий демонстрационные значения для A.

В следующей таблице перечислены некоторые распространенные способы задать выборки параметра.

Тип выборочного пространства параметраКак задать выборки параметра
Линейно варьированиеparam.Value = linspace(A_min,A_max,num_samples)
Логарифмически варьированиеparam.Value = logspace(A_min,A_max,num_samples)
Случайныйparam.Value = rand(1,num_samples)
Пользовательскийparam.Value = custom_vector

Если переменная, используемая моделью, не является скалярной переменной, задайте название параметра как выражение, которое решает к значению числового скаляра. Например, предположите тот Kpid вектор коэффициентов ПИД. Первая запись в том векторе, Kpid, используется в качестве значения усиления в блоке в вашей модели. Используйте следующие команды, чтобы варьироваться, которые получают использование значений, данных в векторном Kpvals:

param.Name = 'Kpid(1)';
param.Value = Kpvals;

После того, как вы создаете структуру param:

  • Передайте его linearize как param входной параметр.

  • Передайте его slLinearizer как param входной параметр, при создании slLinearizer интерфейс.

  • Установите Parameters свойство существующего slLinearizer взаимодействуйте через интерфейс к param.

Варьируйтесь один параметр по графическим инструментам

Чтобы задать изменения одного параметра для пакетной линеаризации в Model Linearizer, на вкладке Linear Analysis, в Parameter Variations выпадающий список, нажимают Select parameters to vary. (В Control System Tuner Parameter Variations выпадающий список находится на вкладке Control System.)

Нажмите Manage Parameters. В диалоговом окне переменных модели Select проверяйте параметр, чтобы варьироваться. Таблица приводит все переменные в рабочем пространстве MATLAB и рабочем пространстве модели, которые используются в модели, или настраиваемые или нет.

Примечание

Если параметр не является скалярной переменной, нажмите Specify expression indexing if necessary и введите выражение, которое решает к значению числового скаляра. Например, если A вектор, введите A(3) задавать третью запись в A. Если A структура и скалярный параметр, вы хотите варьироваться, Value поле той структуры, введите A.Value. Индексируемая переменная появляется в списке переменных.

Нажмите OK. Выбранная переменная появляется в таблице Parameter Variations. Используйте таблицу, чтобы задать значения параметров вручную или сгенерировать значения автоматически.

Вручную задайте значения параметров

Чтобы задать значения вручную, добавьте строки в таблицу путем нажатия на Insert Row и выбора Insert Row Above или Insert Row Below. Затем отредактируйте значения в таблице по мере необходимости.

Когда вы возвращаетесь к вкладке Linear Analysis и линеаризуете модель, Model Linearizer линеаризует во всех значениях параметров, перечисленных в таблице Parameter Variations.

Примечание

В Control System Tuner, когда вы закончены, задав ваши изменения параметра, необходимо применить изменения прежде, чем продолжить настройку. Для этого во вкладке Parameter Variations, нажмите Apply. Control System Tuner применяет заданные изменения параметра, повторно линеаризует вашу модель и обновляет все существующие графики.

Автоматически сгенерируйте значения параметров

Чтобы сгенерировать значения автоматически, нажмите Generate Values. В диалоговом окне Generate Parameter Values, в столбце Values, вводят выражение для значений параметров, которые вы хотите для переменной. Например, введите выражение, такое как linspace(A_min,A_max,num_samples), или [10:2:30].

Нажмите Overwrite, чтобы заменить значения в таблице Parameter Variations со сгенерированными значениями.

Когда вы возвращаетесь к вкладке Linear Analysis и линеаризуете модель, Model Linearizer вычисляет линеаризацию для каждого из этих значений параметров.

Примечание

В Control System Tuner, когда вы закончены, задав ваши изменения параметра, необходимо применить изменения прежде, чем продолжить настройку. Для этого во вкладке Parameter Variations, нажмите Apply. Control System Tuner применяет заданные изменения параметра, повторно линеаризует вашу модель и обновляет все существующие графики.

Сетки параметра мультиразмерности

Когда вы варьируетесь больше чем один параметр за один раз, вы генерируете сетки параметра более высокой размерности. Например, варьируясь два параметра дают к матрице параметра, и варьируясь, три параметра дают к 3-D сетке параметра. Рассмотрите следующую сетку параметра:

Здесь, вы варьируетесь значения трех параметров, a, b и c. Выборки формируют 3 4 5 сетками. Когда пакет, линеаризующий вашу модель, ss массив моделей, sys, пакетный результат. Точно так же, когда пакет, обрезающий вашу модель, вы получаете массив объектов рабочей точки.

Варьируйтесь несколько параметров в командной строке

Варьироваться значение нескольких параметров для пакетной линеаризации с linearize, slLinearizer, или slTuner, задайте выборки параметра как массив структур. Структура имеет запись для каждого параметра, значение которого вы варьируетесь. Структура для каждого параметра эквивалентна описанный в, Варьируются Один Параметр в Командной строке. Можно задать Value поле для параметра, чтобы быть массивом любой размерности. Однако размер Value поле должно соответствовать для всех параметров. Соответствующие записи массива для всех параметров, также называемых parameter grid point, должны сопоставить с желаемой комбинацией параметра. Когда программное обеспечение линеаризует модель, оно вычисляет линеаризацию — ss модель — для каждого узла решетки. Программное обеспечение заполняет SamplingGrid свойство каждой линеаризовавшей модели с информацией об узле решетки параметра, которому соответствует модель.

Задайте полную сетку

Предположим, что ваша модель имеет два параметра, значения которых вы хотите варьироваться, a и b:

a={a1,a2}b={b1,b2}

Вы хотите линеаризовать модель для каждой комбинации a и b, также называемого full grid:

{(a1,b1),(a1,b2)(a2,b1),(a2,b2)}

Создайте прямоугольную сетку параметра с помощью ndgrid.

a1 = 1;
a2 = 2;
a = [a1 a2];

b1 = 3;
b2 = 4;
b = [b1 b2];

[A,B] = ndgrid(a,b)
>> A

A =

     1     1
     2     2

>> B

B =

     3     4
     3     4

Создайте массив структур, params, это задает сетку параметра.

params(1).Name = 'a';
params(1).Value = A;

params(2).Name = 'b';
params(2).Value = B;

В общем случае, чтобы задать полную сетку для параметров N, используйте ndgrid получить массивы сетки N.

[P1,...,PN] = ndgrid(p1,...,pN);

Здесь, p1pn демонстрационные векторы параметра.

Создайте 1 x массив структур N.

params(1).Name = 'p1';
params(1).Value = P1;
...
params(N).Name = 'pN';
params(N).Value = PN;

Задайте подмножество полной сетки

Если ваша модель является комплексной, или вы варьируетесь, значение многих параметров, линеаризуя модель для полной сетки может стать дорогим. В этом случае можно задать подмножество полной сетки с помощью подобного таблице подхода. Используя пример в Задают Полную Сетку, предполагают, что вы хотите линеаризовать модель для следующих комбинаций a и b:

{(a1,b1),(a1,b2)}

Создайте массив структур, params, это задает эту сетку параметра.

A = [a1 a1];
params(1).Name = 'a';
params(1).Value = A;

B = [b1 b2];
params(2).Name = 'b';
params(2).Value = B;

Варьируйтесь несколько параметров по графическим инструментам

Чтобы варьироваться значение нескольких параметров для пакетной линеаризации в Model Linearizer или Control System Tuner, откройте диалоговое окно переменных модели Select, как описано в Варьируются Один Параметр по Графическим Инструментам. В диалоговом окне проверяйте все переменные, вы хотите варьироваться.

Примечание

Если параметр, вы хотите варьироваться, не является скалярной переменной, нажмите Specify expression indexing if necessary и введите выражение, которое решает к скалярному значению. Например, если A вектор, введите A(3) задавать третью запись в A. Если A структура и скалярный параметр, вы хотите варьироваться, Value поле той структуры, введите A.Value. Индексируемая переменная появляется в списке переменных.

Нажмите OK. Выбранные переменные появляются в таблице Parameter Variations. Каждый столбец в таблице соответствует одной выбранной переменной. Каждая строка в таблице представляет один полный набор значений параметров, в которых можно линеаризовать модель. Когда вы линеаризуете, Model Linearizer вычисляет столько же линейных моделей, сколько существуют строки в таблице. Используйте таблицу, чтобы задать комбинации значений параметров вручную или сгенерировать комбинации значения автоматически.

Вручную задайте значения параметров

Чтобы задать значения вручную, добавьте строки в таблицу путем нажатия на Insert Row и выбора Insert Row Above или Insert Row Below. Затем отредактируйте значения в таблице по мере необходимости. Например, следующая таблица задает линеаризацию в четырех парах значения параметров: (Ki2,Kp2) = (3.5,1), (3.5,2), (5,1), и (5,2).

Когда вы возвращаетесь к вкладке Linear Analysis и линеаризуете модель, Model Linearizer вычисляет линеаризацию для каждой из этих пар значения параметров.

Примечание

В Control System Tuner, когда вы закончены, задав ваши изменения параметра, необходимо применить изменения прежде, чем продолжить настройку. Для этого во вкладке Parameter Variations, нажмите Apply. Control System Tuner применяет заданные изменения параметра, повторно линеаризует вашу модель и обновляет все существующие графики.

Автоматически сгенерируйте значения параметров

Чтобы сгенерировать значения автоматически, нажмите Generate Values. В диалоговом окне Generate Parameter Values, в столбце Значений, вводят выражение для значений параметров, которые вы хотите для каждой переменной, такой как linspace(A_min,A_max,num_samples), или [10:2:30]. Например, следующая запись генерирует пары значения параметров для всех возможных комбинаций Kp1 = [0.1,0.15,0.2,0.25,0.3] и Kp2 = [0.03,0.04,0.05].

Нажмите Overwrite, чтобы заменить значения в таблице Parameter Variations со сгенерированными значениями.

Когда вы возвращаетесь к вкладке Linear Analysis и линеаризуете модель, Model Linearizer вычисляет линеаризацию для каждой из этих пар значения параметров.

Примечание

В Control System Tuner, когда вы закончены, задав ваши изменения параметра, необходимо применить изменения прежде, чем продолжить настройку. Для этого во вкладке Parameter Variations, нажмите Apply. Control System Tuner применяет заданные изменения параметра, повторно линеаризует вашу модель и обновляет все существующие графики.

Смотрите также

| | | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте