triangle_nco_rule, a MATLAB code which defines the weights and abscisass for a sequence of 9 Newton-Cotes open quadrature rules over the interior of a triangle in 2D.
Newton-Cotes rules have the characteristic that the abscissas are equally spaced. For a triangle, this refers to spacing in the unit reference triangle, or in the barycentric coordinate system. These rules may be mapped to an arbitrary triangle, and will still be valid.
The rules are said to be "open" when they do not include points on the boundary of the triangle.
The use of equally spaced abscissas may be important for your application. That may how your data was collected, for instance. On the other hand, the use of equally spaced abscissas carries a few costs. In particular, for a given degree of polynomial accuracy, there will be rules that achieve this accuracy, but use fewer abscissas than Newton-Cotes. Moreover, the Newton-Cotes approach almost always results in negative weights for some abscissas. This is generally an undesirable feature, particularly when higher order quadrature rules are being used.
The information on this web page is distributed under the MIT license.
triangle_nco_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version.
matlab_rule, a MATLAB code which computes a quadrature rule which estimates the integral of a function f(x), which might be defined over a one dimensional region (a line) or more complex shapes such as a circle, a triangle, a quadrilateral, a polygon, or a higher dimensional region, and which might include an associated weight function w(x).