将数值结果与不同的积分网格尺寸进行比较(MATLAB)

时间:2015-11-11 08:47:49

标签: matlab grid integration

我试图使用Matlab的integral来比较复数积分的数值结果。

特别是,我想使用

检查结果的准确性
  • 固定积分区间[0,T],
  • 但不同的稀疏度或集成网格大小。

使用Matlab的integral时,有没有办法指定集成网格大小(即:等间距网格点的数量)?或者我应该找到其他选择吗?

1 个答案:

答案 0 :(得分:4)

  

使用MATLAB' s integral时,有没有办法指定集成网格大小(即:等间距网格点的数量?)

简短回答:不。

documentation表示您只能输入:

  

q = integral(fun,xmin,xmax,Name,Value)使用一个或多个Name,Value对参数指定其他选项。例如,指定'WayPoints'后跟一个实数或复数的向量,以指示集成商要使用的特定点。

因此,我们向下滚动一下并读取允许的名称/值对并找到:

  • 'AbsTol',绝对容错
  • 'RelTol',相对容错
  • 'ArrayValued',数组值函数标志
  • 'Waypoints',整合路标

MATLAB自动优化积分并以数字形式计算(当然),该结束由'AbsTol''RelTol'定义的给定误差结束。我只是顺其自然。

如果您确实要指定集成步长,可以检查如果将'Waypoints'指定为[0:1/(100*T):T]会发生什么。我自己使用简单的Riemann sum实现自己进行集成。