我的问题类似于这个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.)
提前感谢任何暗示!
答案 0 :(得分:0)
Matlab中integral()
的确切方法随着时间的推移而变化。我有一段时间没有关注它。几年前,我记得读过它如何使用自适应求积法,并且是Guass-Kronrod的稍高级版本。现在看来Matlab并没有在官方文档中谈论它的集成方法。也许他们开发了一些好的和专有的。您可以阅读他们链接到文档页面的论文,看看他们做的是否符合您的喜好。