ODE 数值求解后的数值积分 (MATLAB)

Numerical Integration after Numerical Solution of ODEs (MATLAB)

我的问题类似于这个 Numerical Integration,我已经使用 bvp4c 计算了我的 ODE 的数值解,边界条件施加在 rmin=1e-5 (near r=0) and rmax=50。我不必保持无限间隔,因为即使对于 $\frac{\lambda}{e^2}<<1$,解也能非常快地达到渐近行为。

所以,我使用 trapz 计算了积分,但我想知道 Matlab 是否有更精确的方法来计算积分。我搜索了上面问题中用户@drjrm3提到的方法,但我不明白当被积函数涉及一个向量的分量组合时我可以实现什么方法来保持解决方案。

我目前的情况是这样的:

f=trapz(xint,Sxint(3,:).^2. + 0.5*(1-Sxint(1,:).^2.).^2./xint.^2. + 0.5*xint.^2.*Sxint(4,:).^2. + ...
    Sxint(1,:).^2.*Sxint(2,:).^2. + 0.1*0.25*xint.^2.*(Sxint(2,:).^2. - 1).^2.)

提前感谢任何提示!

integral() and quadqk()

Matlab 中 integral() 的确切方法随时间而变化。我有一段时间没关注了。几年前,我记得读过它如何使用自适应正交并且是 Guass-Kronrod 的稍微高级的版本。现在好像官方文档中matlab并没有讲到它的集成方法。也许他们开发了一些好的和专有的东西。您可以阅读他们链接到文档页面的论文,看看他们所做的是否符合您的喜好。