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получение, getdataпередискретизация, selectbyname

Функция MATLAB® struct

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