我有一个目标函数,可以根据一些参数计算实际值与我对非线性ODE系统的预测之间的差异
residuals_vector = actual_values-predictions
[residuals_vector]=objfun(actual_values,time,parameters)
剩余P
个参数N
,
有没有一种简单的方法可以在Matlab中计算该系统的灵敏度矩阵P x N
答案 0 :(得分:0)
您可以在此处尝试几种方法。如果您的目标函数是可微的,而您正在寻找的是局部灵敏度分析,那么您想要的是计算梯度。如果您的目标函数足够好并且您不想自己计算梯度,则可以使用自动微分包,例如https://www.mathworks.com/matlabcentral/fileexchange/61849-autodiff_r2016b。对于全局灵敏度分析,您将需要进行蒙特卡洛模拟,这将需要更多的计算量。如果需要的话,请参见:https://www.mathworks.com/help/sldo/sensitivity-analysis.html,以获取用于设置样本的工具。