cmlabs.integrate.test_weddles_error
- cmlabs.integrate.test_weddles_error()[source]
Reach accuracy \(\epsilon\) error for Weddle’s rule.
\[\begin{split}\begin{gather} |I_n - I_{2n}| \leq \epsilon, \\ |I_{2n} - I_{4n}| \leq \epsilon, \\ \ldots \\ |I_{2^k n} - I_{2^{k+1} n}| \leq \epsilon, \\ \end{gather}\end{split}\]where \(I_n\) is the integral of the function \(f(x)\) over the interval \([a, b]\) using Weddle’s rule with \(n\) subintervals, and \(\epsilon\) is the desired accuracy.
Notes
\[\begin{split}\begin{gather} \int_a^b f(x) \, dx = \int_{0.5}^{1} x - \log_{10}(x + 2) \, dx \\ = \frac{1\ln{10} + 20\ln{5} - 24\ln{3} - 20\ln{2} + 4}{8\ln{10}} \\ \approx 0.1556335 \end{gather}\end{split}\]Results
>>> # Test 6: Weddle's Rule Error >>> # - f(x) = x - lg(x + 2) >>> # - X_n: [0.5 0.583 0.667 ... 0.833 0.917 1. ] >>> # - Y_n: [0.102 0.171 0.241 ... 0.381 0.452 0.523] >>> # - X_2n: [0.5 0.542 0.583 ... 0.917 0.958 1. ] >>> # - Y_2n: [0.102 0.137 0.171 ... 0.452 0.487 0.523] >>> weddles(X_n, Y_n) >>> # - I_n: 0.155633498497833 >>> weddles(X_2n, Y_2n) >>> # - I_2n: 0.1556334984731289 >>> # |I_n - I_2n|: 2.4704099876871055e-11 >>> # 2.4704099876871055e-11 <= 1e-05 >>> # True
See also