Получите 3-D матрицу чувствительности от массива SimData
[T, R, Outputs, InputFactors]
= getsensmatrix(simDataObj)
[T, R, Outputs, InputFactors]
= getsensmatrix(simDataObj,OutputNames,InputFactorNames)
| m-by-1 моменты времени определения массивов для данных о чувствительности в R. |
| m-by-n-by-p массив данных о чувствительности с временами, выходными параметрами и входными факторами, соответствующими его первым, вторым, и третьим размерностям соответственно.
|
| Имя выходных факторов, где выведенными факторами являются имена состояний, для которых вы хотите вычислить чувствительность. |
| Имя входных факторов, где введенными факторами являются имена состояний, относительно которых вы хотите вычислить чувствительность. |
[ получает время и данные о чувствительности из объекта SimData (T, R, Outputs, InputFactors]
= getsensmatrix(simDataObj)simDataObj).
Когда содержит больше чем один элемент, выходными аргументами являются массивы ячеек, в которых каждая ячейка содержит данные для соответствующего элемента simDataObj.simDataObj
getsensmatrix метод может только возвратить данные о чувствительности, которые содержатся в объекте SimData. Данные о чувствительности, которые зарегистрированы объект SimData, установлены во времени симуляции конфигурацией модели, используемой во время симуляции. Это обычно - активная конфигурация модели модели. Для объяснения того, как настроить вычисление чувствительности с помощью конфигурации модели, см. “Анализ чувствительности”. Обратите внимание в частности что данные о чувствительности R возвращенный getsensmatrix может быть нормирован, как задано во времени симуляции.
[ получает данные о чувствительности для выходных параметров, заданных T, R, Outputs, InputFactors]
= getsensmatrix(simDataObj,OutputNames,InputFactorNames) и входные факторы заданы OutputNames. InputFactorNames
и OutputNames может оба быть любое из следующего:InputFactorNames
Пустой массив
Вектор символов или скалярная строка, задающая имя
Вектор строки или массив ячеек из символьных векторов, задающий несколько имен
Передайте пустой массив для OutputNames или попросить данные о чувствительности по всем выходным факторам или ввести факторы, содержавшиеся в InputFactorNames, соответственно. Можно также использовать полностью определенные имена, такие как simDataObj' или CompartmentName.SpeciesName'' разрешить неоднозначности.ReactionName.ParameterName'
В этом примере показано, как получить данные о чувствительности от объекта SimData.
Настройте симуляцию:
Импортируйте радио-модель затухания из примеров SimBiology®.
modelObj = sbmlimport('radiodecay');Получите параметры конфигурации и опции анализа чувствительности от modelObj.
configsetObj = getconfigset(modelObj); sensitivityObj = get(configsetObj, 'SensitivityAnalysisOptions');
Задайте разновидности, для которых вы хотите данные о чувствительности в Outputs свойство. Все разновидности модели выбраны в этом примере. Используйте sbioselect функция, чтобы получить объекты разновидностей из модели.
allSpeciesObj = sbioselect(modelObj, 'Type', 'species'); set(sensitivityObj, 'Outputs', allSpeciesObj);
Задайте разновидности и параметры, относительно которых вы хотите вычислить чувствительность в Inputs свойство.
speciesObj = sbioselect(modelObj,'Type', 'species', 'Name', 'z'); parameterObj = sbioselect(modelObj, 'Type', 'parameter', 'Name', 'c'); set(configsetObj.SensitivityAnalysisOptions,'Inputs', [speciesObj, parameterObj]);
Включите SensitivityAnalysis.
set(configsetObj.SolverOptions, 'SensitivityAnalysis', true) get(configsetObj.SolverOptions, 'SensitivityAnalysis') ans = 1
Симулируйте и возвратите результаты в объекте SimData.
simDataObj = sbiosimulate(modelObj)
Извлеките и отобразите данные о чувствительности на графике из SimData объект.
Используйте getsensmatrix получать данные о чувствительности.
[t R outs ifacs] = getsensmatrix(simDataObj);
Постройте значения чувствительности.
plot(t, R(:,:,2));
legend(outs);
title(['Sensitivities of species relative to ' ifacs{2}]);