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 устанавливать значение этого свойства. В качестве альтернативы используйте 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]);