sdo. Класс ParameterSpace

Пакет: sdo

Задайте распределения вероятностей для параметров модели

Описание

Задайте распределения вероятностей для параметров модели, которые задают parameter space. Вы используете объект sdo.ParameterSpace в качестве входа к команде sdo.sample и генерируете выборки параметров модели. Программное обеспечение генерирует эти выборки согласно дистрибутивам, заданным для каждого параметра. Вы оцениваете функцию стоимости для каждой из этих выборок с помощью команды sdo.evaluate и анализируете, как параметры модели влияют на функцию стоимости.

Конструкция

ps = sdo.ParameterSpace(p) создает объект sdo.ParameterSpace для заданных параметров модели. Программное обеспечение присваивает названия параметра к свойству ParameterNames и значения по умолчанию к остающимся свойствам, включая ParameterDistributions. Программное обеспечение задает равномерное распределение для каждого параметра в p и устанавливает значения двух параметров равномерного распределения можно следующим образом:

  • Ниже Установите на p.Minimum. Если p.Minimum равен-Inf, то программное обеспечение устанавливает Lower на 0.9*p.Value. Если p.Value не равен 0, в этом случае программное обеспечение устанавливает Lower на-1.

  • Верхний Установите на p.Maximum. Если p.Maximum равен Inf, то программное обеспечение устанавливает Upper на 1.1*p.Value. Если p.Value не равен 0, в этом случае программное обеспечение устанавливает Upper на 1.

ps = sdo.ParameterSpace(p,pdist) задает распределение каждого параметра.

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

p

Параметры модели и состояния, заданные как вектор объектов param.Continuous.

Например, sdo.getParameterFromModel('sdoHydraulicCylinder',{'Ac','K'}).

pdist

Распределение вероятностей параметров модели, заданных как вектор одномерных объектов распределения вероятностей.

  • Если pdist одного размера как p, программное обеспечение задает каждую запись pdist как распределение вероятностей соответствующего параметра в p.

  • Если pdist содержит только один объект, программное обеспечение задает этот объект как распределение вероятностей для всех параметров в p.

Используйте команду makedist, чтобы создать одномерный объект распределения вероятностей. Например, makedist('Normal','mu',100,'sigma',10).

Проверять, является ли pdist объектом одномерного распределения, выполнение isa(pdist,'prob.UnivariateDistribution').

Свойства

ParameterNames

Имена параметра модели, заданные как массивы ячеек из символьных векторов. Например, {'Kp','Ki'}.

Это свойство готово только.

Значение по умолчанию: ''

ParameterDistributions

Дистрибутивы параметра модели, заданные как вектор объектов prob.UnivariateDistribution.

По умолчанию программное обеспечение задает равномерное распределение для параметров модели, заданных p. Для каждого параметра программное обеспечение устанавливает значения двух параметров равномерного распределения:

  • Ниже Установите на p.Minimum. Если p.Minimum равен-Inf, то программное обеспечение устанавливает Lower на 0.9*p.Value. Если p.Value не равен 0, в этом случае программное обеспечение устанавливает Lower на-1.

  • Верхний Установите на p.Maximum. Если p.Maximum равен Inf, то программное обеспечение устанавливает Upper на 1.1*p.Value. Если p.Value не равен 0, в этом случае программное обеспечение устанавливает Upper на 1.

Используйте входной параметр pdist при построении ps, чтобы установить значение этого свойства. Также используйте метод sdo.ParameterSpace.setDistribution после того, как вы создадите ps.

Значение по умолчанию: []

RankCorrelation

Корреляция между параметрами, заданными как матрица.

Когда вы вызываете sdo.sample, программное обеспечение генерирует выборки, которые коррелируются, как задано этой матрицей (где корреляция относится к оцениваемой корреляции). Можно задать метод выборки с помощью свойства Method sdo.SampleOptions.

  • Если вы задаете Method как 'random', 'lhs', 'sobol' или 'halton', программное обеспечение использует алгоритм Iman-Коновера, чтобы наложить корреляцию, заданную RankCorrelation.

  • Если вы задаете Method как 'copula', программное обеспечение использует связку, чтобы наложить корреляцию, заданную RankCorrelation. Используйте свойство MethodOptions объекта sdo.SampleOptions задать семейство связок и задать степени свободы при использовании t семейства связок.

Задайте [], когда параметры будут некоррелироваными.

Значение по умолчанию: []

Options

Выборка опций метода, заданных как объект sdo.SampleOptions.

Значение по умолчанию: sdo.SampleOptions

Notes

Примечания к тексту сопоставлены с ps, заданным как вектор символов или массив ячеек из символьных векторов. Например, 'notes for ps'.

Значение по умолчанию: ''

Методы

addParameterДобавьте параметр в объект sdo.ParameterSpace
removeParameterУдалите параметр из объекта sdo.ParameterSpace
setDistributionУстановите распределение параметра в объекте sdo.ParameterSpace

Копировать семантику

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Получите параметры модели интереса.

load_system('sdoHydraulicCylinder');
p  = sdo.getParameterFromModel('sdoHydraulicCylinder',{'Ac','K'});

Создайте объект sdo.ParameterSpace для Ac и K.

ps = sdo.ParameterSpace(p);

Можно использовать ps в качестве входа к sdo.sample и сгенерировать выборки. По умолчанию программное обеспечение задает равномерное распределение для обоих параметров.

Предположим, что вы хотите задать нормальное распределение для Ac и равномерное распределение для K с K в [30000 70000] область значений.

pdistAc = makedist('Normal','mu',p(1).Value,'sigma',2);
pdistK = makedist('Uniform','lower',30000,'upper',70000);
ps1 = sdo.ParameterSpace(p,[pdistAc;pdistK]);