Задайте опции анализа чувствительности
Свойство SensitivityAnalysisOptions является объектом, который содержит опции анализа чувствительности в объекте конфигурации модели. Анализ чувствительности поддерживается только для детерминированного (ОДУ) симуляции.
Свойство SensitivityAnalysisOptions управляет настройками, связанными с анализом чувствительности. Чтобы включить или отключить анализ чувствительности, используйте свойство SensitivityAnalysis.
Свойства SensitivityAnalysisOptions получены в итоге в Сводных данных Свойства.
Когда анализ чувствительности включен, следующая команда
[t,x,names] = sbiosimulate(modelObj)
возвращает [t,x,names], где
t является вектором n-by-1, где n является количеством шагов, сделанных решателем оды, и t задает временные шаги решателя.
x является матрицей n-by-m, где n является количеством шагов, сделанных решателем оды, и m:
Number of species and parameters specified in StatesToLog + (Number of sensitivity outputs * Number of sensitivity input factors)
names является списком регистрируемых состояний и списком чувствительности разновидностей, заданных в StatesToLog относительно входных факторов.
Для примера вывода смотрите Примеры.
Можно добавить много объектов конфигурации модели с различным SensitivityAnalysisOptions к объекту модели с методом addconfigset. Только один объект конфигурации модели в объекте модели может иметь набор свойств Active к true в любой момент времени.
| Входные параметры | Задайте разновидности и входные факторы параметра для анализа чувствительности |
| Нормализация | Задайте тип нормализации для анализа чувствительности |
| Выходные параметры | Задайте разновидности и параметр выходные параметры для анализа чувствительности |
| Применяется | Объект: конфигурация модели |
| Тип данных | Объект |
| Значения данных | Свойства SensitivityAnalysisOptions, как получено в итоге в Сводных данных Свойства. |
| Доступ | Только для чтения |
Этот пример показывает, как установить SensitivityAnalysisOptions.
Импортируйте радио-модель затухания из демонстраций SimBiology.
modelObj = sbmlimport('radiodecay');Получите параметры конфигурации и опции анализа чувствительности от modelObj.
configsetObj = getconfigset(modelObj);
sensitivityObj = get(configsetObj, 'SensitivityAnalysisOptions');Добавьте разновидность и параметр к свойству Inputs. Используйте функцию sbioselect, чтобы получить разновидности и объекты параметра из модели.
speciesObj = sbioselect(modelObj,'Type', 'species', 'Name', 'z'); parameterObj = sbioselect(modelObj, 'Type', 'parameter', 'Name', 'c'); set(sensitivityObj, 'Inputs', [speciesObj parameterObj]);
Добавьте разновидность в свойство Outputs и отображение.
set(sensitivityObj, 'Outputs', speciesObj); get(sensitivityObj, 'Outputs')
SimBiology Species Array Index: Compartment: Name: InitialAmount: InitialAmountUnits: 1 unnamed z 0 molecule
Включите SensitivityAnalysis.
set(configsetObj.SolverOptions, 'SensitivityAnalysis', true); get(configsetObj.SolverOptions, 'SensitivityAnalysis') ans = 1
Моделируйте и возвратите результаты в три выходных переменные. См. Описание для получения дополнительной информации.
[t,x,names] = sbiosimulate(modelObj);
Отобразите names.
names
names =
'x'
'z'
'd[z]/d[z]_0'
'd[z]/d[Reaction1.c]'
Отобразите значения состояния x.
x
Отображение следует за порядком следования столбцов, показанным в names для значений в x. Строки соответствуют t.