比较具有不同积分网格大小的数值结果 (MATLAB)

Comparing numerical results with different integration grids sizes (MATLAB)

我正在尝试使用 Matlab integral 比较复积分的数值结果。

特别是,我想使用

检查结果的准确性

在使用 Matlab 的 integral 时,有没有办法指定积分网格大小(即:等距网格点的数量)?还是我应该寻找其他选择?

Is there a way to specify integration grid sizes (i.e.: number of equally spaced grid points) when using MATLAB's integral?

简答:否

documentation说你只能输入:

q = integral(fun,xmin,xmax,Name,Value) specifies additional options with one or more Name,Value pair arguments. For example, specify 'WayPoints' followed by a vector of real or complex numbers to indicate specific points for the integrator to use.

因此,我们向下滚动一点并阅读允许的 name/value 对并找到:

  • 'AbsTol',绝对误差容限
  • 'RelTol',相对误差容限
  • 'ArrayValued',数组值函数标志
  • 'Waypoints',整合waypoints

MATLAB 自动优化积分并以数值方式计算(当然),它以给定错误结束,由 'AbsTol''RelTol' 定义。我只是同意了。

如果您确实想要指定积分步长,您可以检查如果将 'Waypoints' 指定为 [0:1/(100*T):T] 会发生什么。不过,我会自己集成它,使用一个简单的黎曼求和实现。