exponenta event banner

getsensmatrix (SimData)

Получите 3-D матрицу чувствительности от массива SimData

Синтаксис

[T, R, Outputs, InputFactors] = getsensmatrix(simDataObj)
[T, R, Outputs, InputFactors] = getsensmatrix(simDataObj,OutputNames,InputFactorNames)

Аргументы

TT является определением m-by-1 массивов моменты времени для данных о чувствительности в R.
RR является массивом m-by-n-by-p данных о чувствительности с временами, выходными параметрами и входными факторами, соответствующими его первым, вторым, и третьим размерностям соответственно.

R(:,i,j) является курсом времени для чувствительности Outputs{i} состояния к входному фактору InputFactors{j}.

OutputsИмя выходных факторов, где выведенными факторами являются имена состояний, для которых вы хотите вычислить чувствительность.
InputFactorsИмя входных факторов, где введенными факторами являются имена состояний, относительно которых вы хотите вычислить чувствительность.

Описание

[T, R, Outputs, InputFactors] = getsensmatrix(simDataObj) получает время и данные о чувствительности из объекта SimData (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.

  1. Настройте симуляцию:

    1. Импортируйте радио-модель затухания из примеров SimBiology®.

      modelObj  = sbmlimport('radiodecay');
    2. Получите параметры конфигурации и опции анализа чувствительности от modelObj.

      configsetObj = getconfigset(modelObj);
      sensitivityObj = get(configsetObj, 'SensitivityAnalysisOptions');
    3. Задайте разновидности, для которых вы хотите данные о чувствительности в свойстве Outputs. Все образцовые разновидности выбраны в этом примере. Используйте функцию sbioselect, чтобы получить объекты разновидностей из модели.

      allSpeciesObj = sbioselect(modelObj, 'Type', 'species');
      set(sensitivityObj, 'Outputs', allSpeciesObj);
    4. Задайте разновидности и параметры, относительно которых вы хотите вычислить чувствительность в свойстве Inputs.

      speciesObj = sbioselect(modelObj,'Type', 'species', 'Name', 'z');
      parameterObj = sbioselect(modelObj, 'Type', 'parameter', 'Name', 'c');
      set(configsetObj.SensitivityAnalysisOptions,'Inputs', [speciesObj, parameterObj]);
      
    5. Включите SensitivityAnalysis.

      set(configsetObj.SolverOptions, 'SensitivityAnalysis', true)
      get(configsetObj.SolverOptions, 'SensitivityAnalysis')
      
      ans =
      
        1
    6. Моделируйте и возвратите результаты в объекте SimData.

      simDataObj = sbiosimulate(modelObj)
  2. Извлеките и отобразите данные о чувствительности на графике из объекта SimData.

    1. Используйте getsensmatrix, чтобы получить данные о чувствительности.

      [t R outs ifacs] = getsensmatrix(simDataObj);
    2. Постройте значения чувствительности.

      plot(t, R(:,:,2));
      legend(outs);
      title(['Sensitivities of species relative to ' ifacs{2}]);
      

Смотрите также

display, get, getdata, resample, selectbyname

Функция MATLAB® struct

Представленный в R2007b