比较具有不同积分网格大小的数值结果 (MATLAB)
Comparing numerical results with different integration grids sizes (MATLAB)
我正在尝试使用 Matlab integral
比较复积分的数值结果。
特别是,我想使用
检查结果的准确性
- 固定积分区间[0,T],
- 但稀疏度或积分网格大小不同。
在使用 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]
会发生什么。不过,我会自己集成它,使用一个简单的黎曼求和实现。
我正在尝试使用 Matlab integral
比较复积分的数值结果。
特别是,我想使用
检查结果的准确性- 固定积分区间[0,T],
- 但稀疏度或积分网格大小不同。
在使用 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]
会发生什么。不过,我会自己集成它,使用一个简单的黎曼求和实现。