setDistribution

Класс: sdo. ParameterSpace
Пакет: sdo

Установите распределение параметра в sdo.ParameterSpace объект

Синтаксис

ps = setDistribution(ps0,p,pdist)

Описание

ps = setDistribution(ps0,p,pdist) обновляет ParameterDistributions свойство sdo.ParameterSpace объект, ps0, для заданных параметров, p, и возвращает обновленный объект, ps.

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

ps0

Пространство параметров, заданное как sdo.ParameterSpace объект.

p

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

  • Вектор param.Continuous объекты — Объекты параметра. Например, p = sdo.getParameterFromModel('sdoHydraulicCylinder','Ac').

  • Название параметра, заданное как вектор символов или строка. Например, 'Ac'.

pdist

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

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

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

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

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

Выходные аргументы

ps

Обновленное пространство параметров, возвращенное как sdo.ParameterSpace объект.

Примеры

развернуть все

Создайте sdo.ParameterSpace объект для Ac и K параметры sdoHydraulicCylinder модель.

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

По умолчанию равномерное распределение задано для всех параметров в p.

ps.ParameterDistributions
ans=1×2 object
  1x2 UniformDistribution array

Задайте нормальное распределение для Ac и K.

pAcdist = makedist('Normal','mu',p(1).Value,'sigma',1);
pKdist = makedist('Normal','mu',p(2).Value,'sigma',3);
ps = setDistribution(ps,p,[pAcdist;pKdist]);

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

| |