使用assimulo-ida的敏感性(来自日晷)

2024-06-07 12:49:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用艾达和阿西姆洛一起解决情感问题。 解决这个问题没有敏感性是很好的,但是现在我想在最后时刻、初始值和控制(在我的方程中使用的参数)中使用灵敏度来解决问题。在

我在assimulo页面上只找到了一个例子(这只是关于初始敏感度的),我不能正确理解它。在

有人能帮我解释一下不同的敏感性需要如何实施吗?在

非常感谢


Tags: 参数页面例子情感解决问题方程灵敏度时刻
1条回答
网友
1楼 · 发布于 2024-06-07 12:49:42

我使用cvodesolver遵循了关于不连续性(https://jmodelica.org/assimulo/_modules/assimulo/examples/cvode_with_disc.html#run_example)的示例,这意味着我将“显式问题”类划分为子类。在

为了集成我的ode系统(它有不连续性),我重写了方法'rhs',它对我的ode系统进行编码。更具体地说,我使用了以下签名:def rhs(self, t, y, sw)。在

然后,为了得到参数敏感度,我只修改了签名如下def rhs(self, t, y, sw, p),注意附加参数p!我还需要为p0分配参数值,如示例中初始值赋值y0所示。就这么简单。在

请注意,计算参数灵敏度也可能需要相当多的计算时间(我发现多了5到10倍,但我的ode系统通常不是那么大)。在

不幸的是,灵敏度是用有限差分(正向或中心)计算的。据我所知,日晷解算器能够进行最先进的算法微分,从而得到灵敏度方程,并与原始的ode一起求解。希望在下一个版本中看到这个:-)

相关问题 更多 >

    热门问题