В этом примере показано, как автоматически сгенерировать функцию MATLAB, чтобы решить задачу оценки анализа чувствительности. Вы используете Sensitivity Analyzer, чтобы задать задачу оценки для модели вестибюло-глазного рефлекса организма и сгенерировать код MATLAB, чтобы решить эту задачу оценки.
Пример Identify Key Parameters for Estimation (GUI) показывает, как использовать Sensitivity Analyzer для оценки функции затрат для различных значений параметров в модели вестибюло-глазного рефлекса организма. В этом примере мы загружаем предварительно настроенный сеанс Sensitivity Analyzer на основе этого примера.
Откройте Sensitivity Analyzer для модели sdoVOR:
ssatool('sdoVOR')
В Sensitivity Analyzer нажмите Открыть сеанс и Open from model workspace
. Открытие сессии sdoVOR_sasessionForEvaluation
.
Это открывает предварительно сконфигурированный сеанс в Sensitivity Analyzer.
В списке Оценить модель (Evaluate Model) выберите Generate MATLAB Function
.
Сгенерированный код добавляется в редактор MATLAB как несохраненная функция MATLAB.
Исследуйте сгенерированный код. Значимыми фрагментами кода являются:
Задайте Конструктивные Переменные - Определение изменяемых параметров модели.
Определите эксперименты (Требования к соответствию сигналов) - Определение измеренных и ожидаемых данных сигнала, которые будут использоваться для требований к соответствию сигналов. В этом случае требование соответствия сигнала является единственным требованием. В других случаях могут быть другие требования, такие как ограничения по сигналу.
Создайте Целевую Функцию - Создание анонимной функции, которая вызывает подфункцию sdoVOR_evalFcn
, который оценивает модель с помощью каждого эксперимента и сравнивает выходы симуляции и измеренных экспериментов. Эта анонимная функция вызывается sdo.evaluate
при каждой итерации задачи оценки для оценки модели во всех комбинациях параметров.
Вычислите модель - решите задачу оценки с помощью sdo.evaluate
команда.
Выберите Save из редактора MATLAB, чтобы сохранить сгенерированную функцию.
Запустите сгенерированную функцию.
Первый выходной аргумент, EvalResult
, содержит результат оценки модели при каждой комбинации значений параметров. Второй выходной аргумент, Info
, содержит информацию о каждой оценке.
Вы можете:
Измените сгенерированные sensitivityEvaluationSdoVOR
функция для включения или исключения новых экспериментов или других требований, или изменения опций оценки.
Вызовите сгенерированный sensitivityEvaluationSdoVOR
функция с другим набором значений параметров для вычисления.
Для получения дополнительной информации о том, как написать функцию objective/constraint для использования со sdo.evaluate
команда, введите help sdoExampleCostFunction
в командной строке MATLAB.
Закройте модель.