exponenta event banner

Моделирование неопределенной модели при выборочных значениях параметров

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

Неопределенная модель

Простая модель rctUncertainModel содержит блок пространства неопределенного состояния с вводом шага. Сигнал ответа шага подает блок графика MultiPlot.

mdl = "rctUncertainModel";
open_system(mdl)

По умолчанию блок «Пространство неопределенного состояния» настроен для моделирования неопределенной модели. ss(ureal('a',-5),5,1,1), который является uss модель с одним неопределенным параметром. Для этого примера создайте модель системы демпфера масс-пружин с неопределенной постоянной пружины и постоянной демпфирования.

m = 3;
c = ureal('c',1,'Percentage',20);
k = ureal('k',2,'Percentage',30);
usys = tf(1,[m c k])
usys =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences
    k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences

Type "usys.NominalValue" to see the nominal value, "get(usys)" to see all properties, and "usys.Uncertainty" to interact with the uncertain elements.

Для моделирования этой системы в параметрах блока введите usys для параметра Неопределенная системная переменная.

Можно также задать значение параметра в командной строке.

ublk = strcat(mdl,"/Uncertain State Space");
set_param(ublk,"USystem","usys");

Моделирование номинальной модели

Чтобы смоделировать модель, Simulink должен задать неопределенные параметры в usys к конкретным, неопределенным значениям. Используйте параметр «Значение неопределенности» для задания этих значений. По умолчанию для этого параметра установлено значение [], что заставляет Simulink использовать номинальные значения всех неопределенных параметров.

Моделирование модели. Блок Мультиграф (MultiPlot Graph) генерирует график номинального отклика модели на ступенчатый входной сигнал.

sim(mdl);

Моделирование указанных образцов

Чтобы смоделировать неопределенную модель с неопределенными параметрами, установленными в значения, отличные от номинальных значений, установите параметр Значение неопределенности в структуру, поля которой являются неопределенными элементами uss модель. Например, создайте структуру samps задающий постоянную демпфирования 1,2, а постоянную пружины 1,7.

samps = struct('c',1.2,'k',1.7);

Задайте для параметра Значение неопределенности значение sampsи смоделировать модель. Блок Мультиграф (MultiPlot Graph) добавляет этот новый отклик системы к той же оси, что и предыдущий отклик.

set_param(ublk,"UValue","samps");
sim(mdl);

Моделирование случайных выборок

Вы можете использовать usample команда для создания выборок usys при случайных значениях неопределенных параметров. Команда uvars = ufind(mdl) создает структуру, содержащую все неопределенные параметры в модели.

uvars = ufind(mdl);

usample берет случайные выборки этих параметров и возвращает структуру, которую можно использовать для параметра Значение неопределенности. Задать для параметра «Неопределенность» значение usample(uvars)и смоделировать модель.

set_param(ublk,"UValue","usample(uvars)");
sim(mdl);

Ответ на шаг случайной выборки экземпляра usys добавляется в блок графика Мультиграф (MultiPlot Graph). Смоделировать модель еще десять раз. Каждый раз, usample генерирует новые значения для c и kи график обновляется с помощью другого ответа на шаг.

for i=1:10
    sim(mdl);
end

См. также

|

Связанные темы