Home > freetb4matlab > integration > gquad2d.m

gquad2d

PURPOSE ^

SYNOPSIS ^

function vol = gquad2d(fun,xlow,xhigh,ylow,yhigh,b1,b2,w1)

DESCRIPTION ^

error:  vol = gquad2d(fun,xlow,xhigh,ylow,yhigh,bpx,bpy,wfxy)
 or
        vol = gquad2d(fun,xlow,xhigh,ylow,yhigh,nquadx,nquady)
  This function evaluates the integral of an externally
  defined function fun(x,y) between limits xlow and xhigh
  and ylow and yhigh. The numerical integration is performed 
  using a Gauss integration rule.  The integration 
  is done with an nquadx by nquady Gauss formula which involves base
  point matrices bpx and bpy and weight factor matrix wfxy.  The normalized 
  interval of integration for the bpx, bpy and wfxy constants is -1 to +1 
  (in x) and -1 to +1 (in y). The algorithm is described by the 
  summation relation
  x=b                     j=nx k=ny
  integral( f(x)*dx ) = J*sum sum( wfxy(j,k)*fun( x(j), y(k) ) )
  x=a                     j=1 k=1
         where wfxy are weight factors,
         nx = nquadx = number of Gauss points in the x-direction,
         ny = nquady = number of Gauss points in the y-direction,
         x = (xhigh-xlow)/2 * bpx + (xhigh+xlow)/2 = mapping function in x,
         y = (yhigh-ylow)/2 * bpy + (yhigh+ylow)/2 = mapping function in y,
         and J = (xhigh-xlow)*(yhigh-ylow)/4 = Jacobian of the mapping.
  The base points and weight factors must first be generated
  by a call to grule of the form [bpx,bpy,wfxy] = grule2d(nquadx,nquady)

 The first form of gquad2d is faster when used several times, because 
 the points and weights are only calculated once.

 The second form of gquad2d is usefull if it is only called once (or a 
 few times).

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Fri 22-May-2009 15:13:00 by m2html © 2003