![]() | Include a straight Python loop also:
class Grid2D: .... def gridloop(self, f): lx = size(self.xcoor); ly = size(self.ycoor) a = zeros((lx,ly)) for i in range(lx): x = self.xcoor[i] for j in range(ly): y = self.ycoor[j] a[i,j] = f(x, y) return a |
![]() | Usage:
g = Grid2D(dx=0.01, dy=0.2) def myfunc(x, y): return sin(x*y) + y a = g(myfunc) i=4; j=10; print 'value at (%g,%g) is %g' % (g.xcoor[i],g.ycoor[j],a[i,j]) |