我试图理解为什么这样的电话
G = const * quadv(fun,a,b,tol)
返回的值不是
lenB = length(b)
for 1 = 1:lenB
G(i) = const .* quadl(fun,a,b,tol)
end
以及如何实现两次调用以返回相同的值?
修改 我想更快地为数组运行quadl。所以我会提出上述问题:
如果可能,如何为数组调用quadl(类似于上面的quadv调用),从而通过计算提高性能?
答案 0 :(得分:2)
Matlab的quadl
使用自适应Lobatto求积; quadv
使用自适应辛普森的规则。
您获得的答案质量可能取决于您所假设的功能。您的测试fun
看起来像什么?
我假设您正在为两个调用传递相同的函数,限制和容差。这意味着差异小于容差。
这两种方法不同 - 高斯积分与辛普森的规则不同:
答案 1 :(得分:2)