示例#1
0
def Integrate(xdata,ydata):
    x_array=Numeric.array(xdata)
    y_array=Numeric.array(ydata)

    # Create the interpolating function
    f = InterpolatingFunction((x_array,), y_array)

    f_integral=f.definiteIntegral()

    return f_integral
示例#2
0
print "d^2(somefunc)/dzdx:", r[2][2][0]  # 0
print "d^2(somefunc)/dz^2:", r[2][2][2]  # 20

print "\n\ntesting interpolation:"
from Scientific.Functions.Interpolation \
     import InterpolatingFunction as Ip
t = sequence(0, 10, 0.1)
v = sin(t)
vi = Ip((t, ), v)
# interpolate and compare with exact result:
print "interpolated:", vi(5.05), " exact:", sin(5.05)
# interpolate the derivative of v:
vid = vi.derivative()
print "interpolated derivative:", vid(5.05), " exact:", cos(5.05)
# compute the integral of v over all t values:
print "definite integral:", vi.definiteIntegral(), \
      " exact:", -cos(t[-1]) - (-cos(t[0]))

# add path to Grid2D:
sys.path.insert(0,
                os.path.join(os.environ['scripting'], 'src', 'py', 'examples'))
from Grid2D import Grid2D
g = Grid2D(dx=0.1, dy=0.2)
f = g('sin(pi*x)*sin(pi*y)')
fi = Ip((g.xcoor, g.ycoor), f)
# interpolate at (0.51,0.42) and compare with exact result:
print "interpolation in 2D grid:", fi(0.51,0.42), \
      " exact value:", sin(pi*0.51)*sin(pi*0.42)
# (0.94640171438438569, 0.96810522380784525)

print "\n\ntesting nonlinear least squares:"
示例#3
0
print 'd^2(somefunc)/dzdx:', r[2][2][0]  # 0
print 'd^2(somefunc)/dz^2:', r[2][2][2]  # 20

print '\n\ntesting interpolation:'
from Scientific.Functions.Interpolation \
     import InterpolatingFunction as Ip
t = linspace(0, 10, 101)
v = sin(t)
vi = Ip((t, ), v)
# interpolate and compare with exact result:
print 'interpolated:', vi(5.05), ' exact:', sin(5.05)
# interpolate the derivative of v:
vid = vi.derivative()
print 'interpolated derivative:', vid(5.05), ' exact:', cos(5.05)
# compute the integral of v over all t values:
print 'definite integral:', vi.definiteIntegral(), \
      ' exact:', -cos(t[-1]) - (-cos(t[0]))

# add path to Grid2D (for testing interpolation on a 2D grid):
sys.path.insert(0,
                os.path.join(os.environ['scripting'], 'src', 'py', 'examples'))
from Grid2D import Grid2D
g = Grid2D(dx=0.1, dy=0.2)
f = g(lambda x, y: sin(pi * x) * sin(pi * y))
fi = Ip((g.xcoor, g.ycoor), f)
# interpolate at (0.51,0.42) and compare with exact result:
print 'interpolation in 2D grid:', fi(0.51,0.42), \
      ' exact value:', sin(pi*0.51)*sin(pi*0.42)
# (0.94640171438438569, 0.96810522380784525)

print '\n\ntesting nonlinear least squares:'
示例#4
0
print "d^2(somefunc)/dzdx:", r[2][2][0]  # 0
print "d^2(somefunc)/dz^2:", r[2][2][2]  # 20

print "\n\ntesting interpolation:"
from Scientific.Functions.Interpolation import InterpolatingFunction as Ip

t = linspace(0, 10, 101)
v = sin(t)
vi = Ip((t,), v)
# interpolate and compare with exact result:
print "interpolated:", vi(5.05), " exact:", sin(5.05)
# interpolate the derivative of v:
vid = vi.derivative()
print "interpolated derivative:", vid(5.05), " exact:", cos(5.05)
# compute the integral of v over all t values:
print "definite integral:", vi.definiteIntegral(), " exact:", -cos(t[-1]) - (-cos(t[0]))

# add path to Grid2D (for testing interpolation on a 2D grid):
sys.path.insert(0, os.path.join(os.environ["scripting"], "src", "py", "examples"))
from Grid2D import Grid2D

g = Grid2D(dx=0.1, dy=0.2)
f = g(lambda x, y: sin(pi * x) * sin(pi * y))
fi = Ip((g.xcoor, g.ycoor), f)
# interpolate at (0.51,0.42) and compare with exact result:
print "interpolation in 2D grid:", fi(0.51, 0.42), " exact value:", sin(pi * 0.51) * sin(pi * 0.42)
# (0.94640171438438569, 0.96810522380784525)


print "\n\ntesting nonlinear least squares:"