MATLAB / OCTAVE-包含从ODE系统的数值解得到的项的被积函数的数值积分

时间:2012-07-13 12:00:15

标签: matlab integration octave numerical-methods

我想在Octave(或Matlab)上计算以下积分: enter image description here

但是,我没有H和K的明确表达式.H和K实际上是以下微分方程的数值解。 h,k,dh / dr和dk / dr的初始条件分别为0,1,1 / 2,0。 enter image description here

我该怎么做呢?我可以以某种方式直接解决它,或者我是否需要首先找到H和K的数值解,找到多项式逼近,然后积分?我对Matlab和数值方法都是全新的,所以描述一切的详细方法将非常受欢迎。

1 个答案:

答案 0 :(得分:0)

如果您有能力在任何需要的时间点解决HK,那么最好的选择是在称为“节点”的特定点进行评估,然后使用数字积分方案来计算积分。基本思想是,根据集成方案,您可以获得不同精度的结果。

一个基本的有限和将只是在等距点评估你的HK,然后将dx作为它们之间的空间。对于像你一样的无限积分,这显然是有问题的,但是你也可以将内核重铸到有限域中(取1 /(x + 1)的所有内容,然后你的被积函数从(0,+ inf)变为( 1,0) - 显然你需要得到结果积分的负数并将(1,0)变成(0,1))。

使用有限域,您可以使用所描述的有限和方法,或者在高斯 - 勒让德求积分等有限域上使用更精确的积分方案。 http://en.wikipedia.org/wiki/Gaussian_quadrature

最后,如果你需要保持无限域,可以使用更适合无限域的正交类型,例如Gauss-Laguerre正交,这将要求你通过Exp(x)预乘你的内核,以便结果权重(Exp(-x))不会改变你的内核。 http://en.wikipedia.org/wiki/Gauss–Laguerre_quadrature