Рассчитать чувствительность системы численно на Matlab - PullRequest
0 голосов
/ 31 марта 2019

У меня есть целевая функция, которая рассчитывает разницу между фактическими значениями и моим прогнозом нелинейной системы ОДУ в соответствии с некоторыми параметрами

residuals_vector = actual_values-predictions

[residuals_vector]=objfun(actual_values,time,parameters) с PПараметры N Остаточный, существует ли простой способ для вычисления матрицы чувствительности P x N этой системы в Matlab

1 Ответ

0 голосов
/ 02 апреля 2019

Есть несколько подходов, которые вы можете попробовать здесь.Если ваша целевая функция дифференцируема, и вы ищете локальная чувствительность анализ, то вам нужно вычислить градиент.Если ваша целевая функция достаточно хороша, и вы не хотите самостоятельно вычислять градиент, вы можете использовать пакеты автоматического дифференцирования, такие как https://www.mathworks.com/matlabcentral/fileexchange/61849-autodiff_r2016b.. Для анализа глобальной чувствительности вы захотите провести симуляцию Монте-Карло, которая будетбыть более интенсивным в вычислительном отношении.Смотрите: https://www.mathworks.com/help/sldo/sensitivity-analysis.html для инструментов для настройки вашего образца, если это то, что вы хотите.

...