1

我正在尝试解决一个耦合迭代方程系统,每个方程都包含许多积分和导数。

首先,我使用最大值(嵌入 Sage 中)对其进行解析求解,但该解决方案过于依赖于我对未知函数所做的初始猜测,恒定的初始猜测几乎立即产生了响应,而符号函数在用作初始猜测时产生了系统深入计算,有时似乎永无止境。

然而,我用 Sage 尝试的实际上是我原始方程的简化版本,所以我认为可能是我别无选择,只能以数字方式处理积分和导数,但是,我有一些不可忽视的问题:

  1. 积分只允许有数值限制,并且不允许变量作为它们的上限(我认为也许数值方法算法比解析算法更快 - 尽管我在其计算中留下了变量或参数,但它只是没有'不能这样工作)。

  2. 被积函数也不能承认没有被积分的额外变量和参数。

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

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

现在我有三个问题:

a-是否可以得出结论,除了离散方程并进行完整的数值处理而不是混合处理之外,我别无他法?

b-如果是这样,那么有什么方法可以自动执行此操作吗?我的方程不是使用 ODEint 的 DE 方程,否则它们是迭代方程,我有积分和导数,只是为了在每一步将我的未知数更新为更新的值。

c-如果我的计算量如此之大,是否有任何关于从 python 切换到 fortran 或类似的东西的建议?

此致

4

0 回答 0