Получите 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 ОбъектЭтот пример показывает, как вычислить чувствительность некоторых видов в модели Лотки-Вольтерры с помощью 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 - количество входов чувствительности.
The outputFactors выходной аргумент помечает второе измерение r и inputFactors подписывает третью размерность r. Для примера, r(:,i,j) - временной курс чувствительности состояния outputFactors{i} в вход inputFactor{j}.
Функция возвращает только данные чувствительности уже в SimData объект. Он не вычисляет чувствительности. Для получения дополнительной информации о настройке и выполнении вычисления чувствительности смотрите Локальный анализ чувствительности (LSA). Во время настройки можно также задать, как нормализовать данные о чувствительности.
outputFactors - Имена выходов чувствительностиИмена выходов чувствительности, возвращенные как n-на-1 массив ячеек. n - количество выходов чувствительности.
Выходными факторами являются состояния, для которых вы вычисляли чувствительности. Другими словами, выходы чувствительности являются числителями. Для получения дополнительной информации смотрите Анализ локальной чувствительности (LSA).
inputFactors - Имена входов чувствительностиИмена входов чувствительности, возвращенные как p-на-1 массив ячеек. p - количество входа факторов.
Входными факторами являются состояния, относительно которых вы вычисляли чувствительности. Другими словами, входы чувствительности являются знаменателями, как объяснено в Локальном Анализе Чувствительности (LSA).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.