diff --git a/pywafo/src/wafo/demos.py b/pywafo/src/wafo/demos.py index 5c7f8ec..46801ea 100644 --- a/pywafo/src/wafo/demos.py +++ b/pywafo/src/wafo/demos.py @@ -18,11 +18,11 @@ def magic(n): ''' if np.mod(n,1)==1: # odd order - ix = np.arange(n)+1 - J, I = np.meshgrid(ix,ix) - A = np.mod(I+J-(n+3)/2,n) - B = np.mod(I+2*J-2,n) - M = n*A + B + 1 + ix = np.arange(n) + 1 + J, I = np.meshgrid(ix, ix) + A = np.mod(I + J - (n + 3) / 2, n) + B = np.mod(I + 2 * J - 2, n) + M = n * A + B + 1 return M @@ -33,7 +33,7 @@ def peaks(x=None, y=None, n=51): Example ------- - >>> import pylab as plt + >>> import matplotlib.pyplot as plt >>> x,y,z = peaks() >>> h = plt.contourf(x,y,z) @@ -54,6 +54,13 @@ def peaks(x=None, y=None, n=51): def humps(x=None): ''' Computes a function that has three roots, and some humps. + + Example + ------- + >>> import matplotlib.pyplot as plt + >>> x = np.linspace(0,1) + >>> y = humps(x) + >>> h = plt.plot(x,y) ''' if x is None: y = np.linspace(0, 1) @@ -63,4 +70,4 @@ def humps(x=None): return 1.0 / ((y - 0.3) ** 2 + 0.01) + 1.0 / ((y - 0.9) ** 2 + 0.04) + 2 * y - 5.2 if __name__ == '__main__': - pass \ No newline at end of file + pass diff --git a/pywafo/src/wafo/integrate.py b/pywafo/src/wafo/integrate.py index 7a065d3..58aead7 100644 --- a/pywafo/src/wafo/integrate.py +++ b/pywafo/src/wafo/integrate.py @@ -1136,7 +1136,7 @@ def richardson(Q, k): R = Q[k] + (Q[k] - Q[k - 1]) / c return R -def quadgr(fun, a, b, abseps=1e-5): +def quadgr(fun, a, b, abseps=1e-5, maxiter=17): ''' Gauss-Legendre quadrature with Richardson extrapolation. @@ -1218,7 +1218,7 @@ def quadgr(fun, a, b, abseps=1e-5): Q = -Q return Q, err - #% Gauss-Legendre quadrature (12-point) + # Gauss-Legendre quadrature (12-point) xq = np.asarray([0.12523340851146894, 0.36783149899818018, 0.58731795428661748, 0.76990267419430469, 0.9041172563704748, 0.98156063424671924]) wq = np.asarray([0.24914704581340288, 0.23349253653835478, 0.20316742672306584, @@ -1232,8 +1232,8 @@ def quadgr(fun, a, b, abseps=1e-5): # else: dtype = np.float64 - #% Initiate vectors - max_iter = 17 # Max number of iterations + # Initiate vectors +# max_iter = 17 # Max number of iterations Q0 = zeros(max_iter, dtype=dtype) # Quadrature Q1 = zeros(max_iter, dtype=dtype) # First Richardson extrapolation Q2 = zeros(max_iter, dtype=dtype) # Second Richardson extrapolation @@ -1480,10 +1480,12 @@ def main(): q0 = np.trapz(humps(x), x) [q, err] = romberg(humps, 0, np.pi / 2, 1e-4) print q, err + def test_docstrings(): np.set_printoptions(precision=7) import doctest doctest.testmod() + if __name__ == '__main__': test_docstrings() #main()