Exemplo n.º 1
0
 def check_3(self,
             f=f1,
             per=0,
             s=0,
             a=0,
             b=2 * pi,
             N=20,
             xb=None,
             xe=None,
             ia=0,
             ib=2 * pi,
             dx=0.2 * pi):
     if xb is None:
         xb = a
     if xe is None:
         xe = b
     x = a + (b - a) * arange(N + 1, dtype=float) / float(N)  # nodes
     v = f(x)
     put("  k  :     Roots of s(x) approx %s  x in [%s,%s]:" %
         (f(None), repr(round(a, 3)), repr(round(b, 3))))
     for k in range(1, 6):
         tck = splrep(x, v, s=s, per=per, k=k, xe=xe)
         if k == 3:
             roots = sproot(tck)
             assert_allclose(splev(roots, tck), 0, atol=1e-10, rtol=1e-10)
             assert_allclose(roots, pi * array([1, 2, 3, 4]), rtol=1e-3)
             put('  %d  : %s' % (k, repr(roots.tolist())))
         else:
             assert_raises(ValueError, sproot, tck)
Exemplo n.º 2
0
 def check_3(self,
             f=f1,
             per=0,
             s=0,
             a=0,
             b=2 * pi,
             N=20,
             xb=None,
             xe=None,
             ia=0,
             ib=2 * pi,
             dx=0.2 * pi):
     if xb is None: xb = a
     if xe is None: xe = b
     x = a + (b - a) * arange(N + 1, dtype=float) / float(N)  # nodes
     v = f(x)
     nk = []
     put("  k  :     Roots of s(x) approx %s  x in [%s,%s]:"%\
           (f(None),`round(a,3)`,`round(b,3)`))
     for k in range(1, 6):
         tck = splrep(x, v, s=s, per=per, k=k, xe=xe)
         roots = sproot(tck)
         if k == 3:
             assert_allclose(roots, pi * array([1, 2, 3, 4]), rtol=1e-3)
         put('  %d  : %s' % (k, ` roots.tolist() `))
Exemplo n.º 3
0
 def check_3(self,f=f1,per=0,s=0,a=0,b=2*pi,N=20,xb=None,xe=None,
           ia=0,ib=2*pi,dx=0.2*pi):
     if xb is None: xb=a
     if xe is None: xe=b
     x=a+(b-a)*arange(N+1,dtype=float)/float(N)    # nodes
     v=f(x)
     nk=[]
     put("  k  :     Roots of s(x) approx %s  x in [%s,%s]:"%\
           (f(None),repr(round(a,3)),repr(round(b,3))))
     for k in range(1,6):
         tck=splrep(x,v,s=s,per=per,k=k,xe=xe)
         roots = sproot(tck)
         if k == 3:
             assert_allclose(roots, pi*array([1, 2, 3, 4]),
                             rtol=1e-3)
         put('  %d  : %s'%(k,repr(roots.tolist())))