Вычислить чувствительность системы численно в matlab

#matlab #matrix #numerical-methods #nonlinear-optimization #non-linear-regression

#matlab #матрица #численные методы #нелинейная оптимизация #нелинейная регрессия

Вопрос:

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

residuals_vector = actual_values-predictions

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

Ответ №1:

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