sdo.evaluate

Оцените функцию стоимости для выборок

Описание

пример

[y,info] = sdo.evaluate(fcn,params) оценивает функцию стоимости, fcn, для выборок пространства параметров, заданного params (sdo.ParameterSpace объект. Программное обеспечение генерирует таблицу выборок с 2Np+1 столбцы Np и строки. Эти выборки сгенерированы на основе спецификаций пространства параметров в params, на его ParameterDistributions, RankCorrelation, и Options свойства. Np является количеством параметров, заданных в params@fcn принимает демонстрационные значения и вычисляет целевые значения модели. Целью модели могла быть стоимость (цель), ограничение или оценка различия между экспериментальными данными и симуляцией модели. sdo.evaluate применяет fcn к каждой строке таблицы выборок. y таблица с одним столбцом для каждого целевого выходного параметра модели, возвращенного fcn и 2Np+1 строки. Дополнительная информация об оценке возвращена в info.

[y,info] = sdo.evaluate(fcn,params,param_samples) оценивает функцию стоимости для заданной демонстрационной таблицы параметра, param_samples. Для этого синтаксиса можно задать params как sdo.ParameterSpace возразите или вектор param.Continuous объекты. y таблица с одним столбцом для каждой цели модели (стоимость или ограничение) выходной параметр, возвращенный fcnY содержит столько же строк сколько param_samples.

[y,info] = sdo.evaluate(___,opts) задает опции оценки, которые конфигурируют обработку ошибок оценки, отображение и опции параллельных вычислений. Этот синтаксис может включать любую из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте произвольный param.Continuous объект.

p = param.Continuous('x',1);

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

ps = sdo.ParameterSpace(p);

Оцените функцию стоимости.

[y,info] = sdo.evaluate(@(p) sdoExampleCostFunction(p),ps);
Model evaluated at 3 samples.

Программное обеспечение генерирует три выборки (2Np+1), и оценивает sdoExampleCostFunction функция стоимости для каждой выборки. Np количество параметров (= 1).

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

свернуть все

Функция стоимости, которая будет оценена sdo.evaluate, определенный функцией указатель.

Функция требует:

  • Один входной параметр, который является вектором param.Continuous объект.

    Чтобы передать дополнительные входные параметры, используйте анонимную функцию. Например, new_fcn = @(p) fcn(p,arg1,arg2, ...).

  • Один выходной аргумент, который является структурой с одним или несколькими следующих полей:

    • F — Значение стоимости (цель) оценено в pF 1x1 'double'.

    • Cleq — Значение нелинейных нарушений ограничения неравенства оценено в p.

      Cleq двойной mx1 вектор, где m количество нелинейных ограничений неравенства.

    • Ceq — Значение нелинейных нарушений ограничения равенства оценено в p.

      Значением является двойной rx1 вектор, где r количество нелинейных ограничений равенства.

    • leq — Значение линейных нарушений ограничения неравенства оценено в p.

      leq двойной nx1 вектор, где n количество линейных ограничений неравенства.

    • eq — Значение линейных нарушений ограничения равенства оценено в p.

      eq двойной sx1 вектор или [], где s количество линейных ограничений равенства.

    • Log — Дополнительная дополнительная информация от функциональной оценки. Если задано, это возвращено в Log поле выхода info.

    Примечание

    Можно использовать тот же указатель на функцию fcn для анализа чувствительности, оптимизации ответа или оценки параметра. Для оптимизации и оценки, решатель ищет значения p это минимизирует F в то время как удовлетворяющие ограничения Cleq, Ceq, leq и eq. Для получения дополнительной информации смотрите sdo.optimize и запишите функцию стоимости.

Параметры модели и состояния, заданные как sdo.ParameterSpace возразите или вектор param.Continuous объекты. Если вы задаете params как вектор param.Continuous объекты, необходимо также задать param_samples.

Выборки параметра, заданные как таблица. param_samples содержит столбцы, которые соответствуют свободным скалярным параметрам и строкам, которые являются выборками этих параметров. Free scalar parameters относится ко всем параметрам, заданным params чей Free свойство установлено в 1. Определение этого значения свойства как 1 указывает, что программное обеспечение может варьироваться значение этого параметра для каждой оценки.

Каждое имя столбца должно быть равно имени соответствующего скалярного параметра.

Опции оценки, заданные как sdo.EvaluateOptions объект.

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

свернуть все

Функция стоимости и ограничительные оценки, возвращенные как таблица.

y таблица с одним столбцом для каждой стоимости или ограничения выходной параметр, возвращенный fcn, и строки Ns.

Если вы задаете param_samples, Ns равен количеству строк param_samples. В противном случае Ns равен 2Np+1. Np является количеством параметров, заданных в params.

Информация об оценке, возвращенная как структура со следующими полями:

  • Status — Состояние Evaluation для каждой выборки, возвращенной как массив ячеек из символьных векторов.

    Каждая запись массива ячеек является одним из следующих векторов символов:

    • 'success' — Оценка модели была успешна

    • 'failure' — Оценка модели привела ко всем результатам NaN

    • 'error' — Оценка модели привела к ошибке

  • Log — Дополнительная информация об оценке получена из Log поле функции стоимости, fcn.

  • Stats — Время, чтобы оценить все выборки, возвращенные как структура со следующими полями:

    • StartTime — Время начала оценки, возвращенное как вектор даты с шестью элементами, содержащий текущую дату и время в десятичной форме: [year month day hour minute seconds]

    • EndTime — Время окончания оценки, возвращенное как вектор даты с шестью элементами, содержащий текущую дату и время в десятичной форме: [year month day hour minute seconds]

    Чтобы определить общее время оценки, используйте etime(info.Stats.EndTime,info.Stats.StartTime).

Расширенные возможности

Введенный в R2014a