Получение матрицы чувствительности 3-D из SimData объект
[ возвращает время t,r,outputFactors,inputFactors] = getsensmatrix(simdata)t и данные о чувствительности r а также все outputFactors и inputFactors(выходы и входы чувствительности) от SimData объект simdata.
[ возвращает данные чувствительности только для выходов и входов, указанных t,r,outputFactors,inputFactors] = getsensmatrix(simdata,outputFactorNames,inputFactorNames)outputFactorNames и inputFactorNamesсоответственно.
SimFunctionSensitivity ОбъектВ этом примере показано, как рассчитать чувствительность некоторых видов в модели Lotka-Volterra с помощью SimFunctionSensitivity объект.
Загрузите образец проекта.
sbioloadproject lotka;Определите входные параметры.
params = {'Reaction1.c1', 'Reaction2.c2'};Определите наблюдаемые виды, которые являются результатами моделирования.
observables = {'y1', 'y2'};Создать SimFunctionSensitivity объект. Установите выходные коэффициенты чувствительности для всех видов (y1 и y2), указанный в observables аргумент и входные факторы для тех, кто в params аргумент (c1 и c2) путем установки аргумента пары «имя-значение» в значение 'all'.
f = createSimFunction(m1,params,observables,[],'SensitivityOutputs','all','SensitivityInputs','all','SensitivityNormalization','Full')
f =
SimFunction
Parameters:
Name Value Type
________________ _____ _____________
{'Reaction1.c1'} 10 {'parameter'}
{'Reaction2.c2'} 0.01 {'parameter'}
Observables:
Name Type
______ ___________
{'y1'} {'species'}
{'y2'} {'species'}
Dosed: None
Sensitivity Input Factors:
Name Type
________________ _____________
{'Reaction1.c1'} {'parameter'}
{'Reaction2.c2'} {'parameter'}
Sensitivity Output Factors:
Name Type
______ ___________
{'y1'} {'species'}
{'y2'} {'species'}
Sensitivity Normalization:
Full
Вычисление чувствительности путем выполнения объекта с помощью c1 и c2 установите значения 10 и 0,1 соответственно. Установите время вывода от 1 до 10. t содержит моменты времени, y содержит данные моделирования и sensMatrix - матрица чувствительности, содержащая чувствительности y1 и y2 в отношении c1 и c2.
[t,y,sensMatrix] = f([10,0.1],[],[],1:10);
Извлеките информацию о чувствительности в момент времени 5.
temp = sensMatrix{:};
sensMatrix2 = temp(t{:}==5,:,:);
sensMatrix2 = squeeze(sensMatrix2)sensMatrix2 = 2×2
37.6987 -6.8447
-40.2791 5.8225
Строки sensMatrix2 представляют собой выходные коэффициенты (y1 и y2). Столбцы представляют входные коэффициенты (c1 и c2).
Установите время остановки равным 15 без указания времени вывода. В этом случае временем вывода по умолчанию являются моменты времени решателя.
sd = f([10,0.1],15);
Извлеките вычисленные чувствительности из SimData объект sd.
[t,y,outputs,inputs] = getsensmatrix(sd);
Постройте график чувствительности видов y1 и y2 в отношении c1.
figure; plot(t,y(:,:,1)); legend(outputs); title('Sensitivities of species y1 and y2 with respect to parameter c1'); xlabel('Time'); ylabel('Sensitivity');

Постройте график чувствительности видов y1 и y2 в отношении c2.
figure; plot(t,y(:,:,2)); legend(outputs); title('Sensitivities of species y1 and y2 with respect to parameter c2'); xlabel('Time'); ylabel('Sensitivity');

Кроме того, можно использовать sbioplot.
sbioplot(sd);
![Figure contains an axes. The axes with title States versus Time contains 6 objects of type line. These objects represent y1, y2, d[y1]/d[Reaction1.c1], d[y2]/d[Reaction1.c1], d[y1]/d[Reaction2.c2], d[y2]/d[Reaction2.c2].](../../examples/simbio/win64/CalculateSensitivitiesUsingSimFunctionSensitivityObjectExample_03.png)
Можно также построить график матрицы чувствительности, используя интеграл времени для вычисленных чувствительности y1 и y2. График показывает y1 и y2 более чувствительны к c1 чем c2.
[~, in, out] = size(y); result = zeros(in, out); for i = 1:in for j = 1:out result(i,j) = trapz(t(:),abs(y(:,i,j))); end end figure; hbar = bar(result); haxes = hbar(1).Parent; haxes.XTick = 1:length(outputs); haxes.XTickLabel = outputs; legend(inputs,'Location','NorthEastOutside'); ylabel('Sensitivity');

simdata - Данные моделированияSimData объект | массив SimData объектыДанные моделирования, указанные как SimData объект или массив SimData объекты. Если simdata представляет собой массив объектов, выходные данные представляют собой массивы ячеек, в которых каждая ячейка содержит данные для соответствующего объекта в SimData массив.
outputFactorNames - Наименования выходов чувствительности[] (по умолчанию) | символьный вектор | строка | строковый вектор | массив ячеек символьных векторовИмена выходов чувствительности, указанных как пустой массив [], символьный вектор, строка, строковый вектор или массив ячеек символьных векторов.
По умолчанию функция использует пустой массив [] для возврата данных чувствительности для всех выходных коэффициентов в simdata.
inputFactorNames - Наименования входов чувствительности[] (по умолчанию) | символьный вектор | строка | строковый вектор | массив ячеек символьных векторовИмена входов чувствительности, указанные как пустой массив [], символьный вектор, строка, строковый вектор или массив ячеек символьных векторов.
По умолчанию функция использует пустой массив [] для возврата данных чувствительности по всем входным факторам в simdata.
t - Моменты времени моделированияМоменты времени моделирования для данных чувствительности, возвращаемые в виде m-на-1 числового вектора или массива ячеек. m - количество моментов времени.
r - Данные о чувствительностиДанные чувствительности, возвращаемые в виде массива m-by-n-by-p или массива ячеек. m - количество моментов времени, n - число выходов чувствительности, p - число входов чувствительности.
outputFactors выходной аргумент помечает второе измерение r и inputFactors маркирует третий размер r. Например, r(:,i,j) является временным курсом для чувствительности состояния outputFactors{i} на вход inputFactor{j}.
Функция возвращает только данные чувствительности, уже имеющиеся в SimData объект. Он не рассчитывает чувствительность. Дополнительные сведения о настройке и выполнении расчета чувствительности см. в разделе Локальный анализ чувствительности (LSA). Во время настройки можно также указать способ нормализации данных чувствительности.
outputFactors - Наименования выходов чувствительностиИмена выходов чувствительности, возвращаемые в виде массива ячеек n-by-1. n - количество выходов чувствительности.
Выходными коэффициентами являются состояния, для которых вычисляются чувствительности. Другими словами, выходные сигналы чувствительности являются числителями. Дополнительные сведения см. в разделе Локальный анализ чувствительности (LSA).
inputFactors - Наименования входов чувствительностиИмена входов чувствительности, возвращаемые в виде массива ячеек p-by-1. p - число входных коэффициентов.
Входными коэффициентами являются состояния, по которым вычисляются чувствительности. Другими словами, входы чувствительности являются знаменателями, как объясняется в локальном анализе чувствительности (LSA).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.