求解含有大量重积分和导数的耦合迭代方程组

2024-10-04 05:34:05 发布

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

我试图解一个耦合迭代方程组,每个方程组都包含大量的积分和导数。在

首先,我使用maxima(嵌入在Sage中)进行分析求解,但解决方案过于依赖于我对未知函数所做的初始猜测,恒定的初始猜测几乎可以立即得到回答,而符号函数用作初始猜测时,则会使系统更深入地进行计算,有时似乎永远不会结束。在

然而,我对Sage的尝试实际上是我原始方程的简化版本,所以我想可能是这样的情况,除了用数值来处理积分和导数之外,我别无选择,然而,我有一些不容忽视的问题:

  1. 积分只允许有数值限制,变量不允许作为上限(我想也许数值方法的算法比解析算法快,尽管我在计算中留下了一个变量或参数,但它不起作用)。

  2. 被积函数也不能接受未被积分的额外变量和参数。

  3. 导数函数本身就是一个很大的障碍,因为我不能计算偏导数,也不能在积分的被积函数中使用导数。

为了解决数值导数的所有问题,我用符号diff()函数代替它,速度的提高还是有希望的,但是数值积分的问题仍然存在。在

现在我有三个问题:

得出结论,除了将方程离散化并进行完整的数值处理而不是混合处理,对我来说没有其他方法吗?在

如果是这样的话,有没有办法自动做到这一点?我的方程不是用ODEint或别的方法,而是迭代方程,我有积分和导数,只是为了把每一步的未知数更新为新的值。在

如果我的计算量如此之大,有没有建议把python转换成fortran或者类似的东西?在

谨致问候


Tags: 方法函数版本算法参数系统符号情况