我正在尝试解决一个耦合迭代方程组,每个方程都包含大量的积分和导数。
首先我使用maxima(嵌入在Sage中)来解析它,但解决方案太依赖于我为我的未知函数做出的初步猜测,不断的初始猜测几乎立即产生了回答,而当用作初始时,符号函数猜测使得系统深入计算,有时似乎永远不会结束。
然而,我用Sage尝试的实际上是我原始方程的简化版本,所以我认为可能是我没有其他选择而不是用数字处理积分和导数的情况,但是,我有一些不可忽略的问题:
仅允许集成具有数字限制,并且不允许变量,例如,它们的上限(我想也许一个数值方法算法比分析算法更快 - 虽然我在计算中留下一个变量或参数,但它只是不起作用)。
积分也不能允许额外的变量和参数w.r.t.没有整合。
导数函数本身就是一个很大的障碍,因为我无法计算偏导数或在积分的积分中使用导数。
为了摆脱数值导数的所有问题,我用符号diff()函数代替它,速度提升仍然有希望,但数值积分的问题仍然存在。
现在我有三个问题:
a-是否正确地得出结论,除了将方程式离散化并进行完整的数值处理而不是混合方法之外,没有其他方法可以解决?
b-如果有,那么有没有办法自动完成?我的方程式不是使用ODEint的DE,或者它们是迭代方程式,我只有积分和导数才能将每一步的未知数更新为更新的值。
c-如果我的计算量如此巨大,那么是否有关于从python转换为fortran或类似事情的建议?
最好的问候