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

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

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

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

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

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

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

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

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

Например, модель Watertank имеет три параметра, заданные как переменные рабочего пространства MATLAB, a, b и 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.

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

Чтобы задать изменения одного параметра для пакетной линеаризации в Linear Analysis Tool, во вкладке 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 и линеаризуете модель, Linear Analysis Tool линеаризует во всех значениях параметров, перечисленных в таблице 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 и линеаризуете модель, Linear Analysis Tool вычисляет линеаризацию для каждого из этих значений параметров.

Примечание

В 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);

Здесь, p1..., pN является демонстрационными векторами параметра.

Создайте 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;

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

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

Примечание

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

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

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

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

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

Примечание

В 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 и линеаризуете модель, Linear Analysis Tool вычисляет линеаризацию для каждой из этих пар значения параметров.

Примечание

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

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

| | | | | |

Похожие темы