我试图使用Matlab的integral
来比较复数积分的数值结果。
特别是,我想使用
检查结果的准确性使用Matlab的integral
时,有没有办法指定集成网格大小(即:等间距网格点的数量)?或者我应该找到其他选择吗?
答案 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实现自己进行集成。