Сгенерируйте код MATLAB для анализа чувствительности для проекта и оценки проектного пространства (GUI)

В этом примере показано, как автоматически сгенерировать функцию 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.

Сгенерируйте код MATLAB

В списке Оценить модель (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.

Закройте модель.

Похожие темы