sdo.ParameterSpace class

Пакет: sdo

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

Описание

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

Конструкция

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

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

  • Upper - Установите значение 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. Для каждого параметра программное обеспечение устанавливает значения двух параметров равномерного распределения:

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

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

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

По умолчанию: []

RankCorrelation

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

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

  • Если вы задаете Method как 'random', 'lhs', 'sobol', или 'halton' программное обеспечение использует алгоритм Iman-Conover, чтобы навязать корреляцию, заданную 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 объект

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

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

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

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