我想弄明白为什么这样的电话
G = const * quadv(fun,a,b,tol)返回不同的值
lenB = length(b)
for 1 = 1:lenB
G(i) = const .* quadl(fun,a,b,tol)
end以及如何实现两个返回相同值的调用?
编辑:,我也想为数组运行更快的四边形。因此,我想提出上述问题:
如果可能的话,如何对数组(类似于上面的象限调用)调用象限,从而通过计算来提高性能?
发布于 2012-02-21 18:56:14
Matlab的quadl使用自适应Lobatto求积,quadv使用自适应辛普森规则。
您得到的答案的质量可能取决于您所承担的功能。您的测试fun是什么样子的?
我将假设您对这两个调用传递相同的函数、限制和容忍。这将意味着差异小于容忍。
这两种方法是不同的--高斯正交与Simpson法则不一样:
http://en.wikipedia.org/wiki/Gaussian_quadrature
发布于 2012-02-21 18:57:25
如果您查看quadl和quadv的帮助,您会发现quadl使用了不同的算法来集成该函数。
数值分析几乎从来没有得到完美的结果,所以你不能期望得到相同的结果。
https://stackoverflow.com/questions/9383066
复制相似问题