我记得解决了很多不确定的积分问题。有一些解决它们的标准方法,但仍然有一些问题需要综合的方法才能达成解决方案。 但是,我们如何以编程方式实现解决方案。如何以编程方式计算不确定积分
例如看看Mathematica的在线集成应用程序。那么我们如何编写这样一个接受函数作为参数的程序,并返回该函数的不确定积分。
PS。输入函数可以假定为连续的(即,不是例如sin(x)/ x)。
我记得解决了很多不确定的积分问题。有一些解决它们的标准方法,但仍然有一些问题需要综合的方法才能达成解决方案。 但是,我们如何以编程方式实现解决方案。如何以编程方式计算不确定积分
例如看看Mathematica的在线集成应用程序。那么我们如何编写这样一个接受函数作为参数的程序,并返回该函数的不确定积分。
PS。输入函数可以假定为连续的(即,不是例如sin(x)/ x)。
你有Risch's algorithm这是微妙的不可判定的(因为你必须决定两个表达式是否相等,类似于无处不在的暂停问题),并且实现时间很长。
如果你遇到了复杂的问题,求解一个常微分方程实际上并不困难(并且计算一个不定积分就相当于求解y'= f(x))。存在一个伽罗瓦微分理论,其模拟伽罗瓦理论的多项式方程(但是具有李群对称性而不是有限群的置换群)。里施的算法是基于它的。
这是一个关于微分伽罗瓦理论的非常有趣的评论。我开始理解通常被掩盖的Risch算法的部分。 – 2010-07-13 17:23:56
这些expert systems通常有一个巨大的技术收集,只是一个接一个地尝试。
我不确定WolframMath,但在Maple中有一个命令可以显示所有中间步骤。如果你这样做,你会得到所有经过验证的技术。
编辑:
祝你好运。 Mathematica是非常复杂的软件,符号操作是最好的。如果您感兴趣的话题来看看这些书:
此外,去源不会伤害任何。这本书实际上解释了数学
的内部工作你正在寻找的算法是RISCH”算法:
http://en.wikipedia.org/wiki/Risch_algorithm
我相信这是一个有点棘手使用。这本书:
http://www.amazon.com/Algorithms-Computer-Algebra-Keith-Geddes/dp/0792392590
有其描述。一个100页的描述。
您保存了一组基本形式,您知道(多项式,基本三角函数等)的积分,并将它们用于输入的形式。如果你不需要太多的通用性,这是可行的:例如,编写集成多项式的程序非常简单。
如果你想在最普遍的情况下做到这一点,你将不得不做很多计算机代数系统的工作。对某些人来说这是一生的工作,例如如果你看Risch's "algorithm"张贴在其他答案或symbolic integration,你可以看到有关于该主题的完整多卷书籍(“Manuel Bronstein,Symbolic Integration Volume I:Springer”),并且很少现有的计算机代数系统最大限度地实现它。
如果您确实想自己编写代码,可以查看Sage的源代码或its components中列出的几个项目。当然,使用这些程序更容易,或者,如果您要编写更大的程序,请将其中一个用作库。
祝你好运...... – Mau 2010-07-13 16:42:18
有趣的问题。这是我一直想知道的事情。鉴于您可以递归应用规则,区分似乎更容易。定积分也可以很好地近似。期待看到这方面的方法。 – IVlad 2010-07-13 16:42:30
您知道,由各种基本功能的产品和成分构成的大多数(“非平凡”)功能都具有抗转换功能*,这些功能仅能用基本功能*表示。因此,这个问题通常是“无法解决的”。 – 2010-07-13 16:48:02