# int2d

integral definida 2d por quadratura e cubatura

## Seqüência de Chamamento

    [I,err]=int2d(X,Y,f [,params])

## Parâmetros

X

  um array 3 por N contendo as abscissas dos vertices dos N triângulos.

Y

  um array 3 por N contendo as ordenadas dos vertices dos N triângulos.

f

  função externa (função, string ou lista) definindo o integrando `f(u,v)`;

params

  vetor de reais `[tol, iclose, maxtri, mevals, iflag]` .O valor padrão é `[1.d-10, 1, 50, 4000, 1]` .

  tol

    o limite desejado do erro. Se `iflag=0`, `tol` é interpretado como um limite de erro relativo; se `iflag=`1, o limite é de erro absoluto.

  iclose

    um inteiro que determina a seleção dos métodos LQM0 ou LQM. Se `iclose=1` , então LQM1 é utilizado. Qualquer outro valor de `iclose` faz com que LQM0 seja usado. LQM0 utiliza valores da função apenas em pontos interiores ao triângulo. LQM1 geralmente é mais preciso que LQM0 mas envolve a avaliação do integrando em mais pontos, incluindo em alguns pontos da fronteira do triângulo. Geralmente é melhor utilizar LQM1 a não ser que o integrando possuia singularidades nas bordas do triângulo.

  maxtri

    o número máximo de triângulos na triangularização final da região

  mevals

    o número máximo de avaliações da função permitido. Este número terá efeito na limitação da computação se for menor que 94*`maxtri` quando LQM1 é especificado ou 56*`maxtri` quando LQM0 é especificado.

  iflag

I

  o valor da integral

err

  o erro estimado

## Descrição

`int2d` computa a integral bidimensional de uma função `f` sobre uma região que consiste de `n` triângulos. Um estimativa de erro total é obtida e comparada a - `tol` - que é fornecida como entrada para a subrotina. A tolerância de erro é tratada como relativa ou absoluta dependendo do valor de entrada de `iflag`. Um "módulo de quadratura local" ("Local Quadrature Module") é aplicado para cada triângulo de entrada e estimativas da integral total e do erro total são computadas. O módulo de quadratura local é a subrotina LQM0 ou a subrotina LQM1 e a escolha entre elas é determinada pelo valor da variável `iclose`.

Se a estimativa de erro total excede a tolerância, o triângulo com maior erro absoluto é dividio em dois outro triângulos traçando-se uma mediana por seu maior lado. O módulo de quadratura local é então aplicado a cada um dos subtriângulos para se obter novas estimativas da integral e do erro. Este processo é repetido até que um dos seguintes (1) a tolerância é satisfeita, (2) o número de triângulos gerados excede o parâmetro `maxtri`, (3) o número de avaliações do integrando excede o parâmetro `mevals`, ou (4) a função sente que um erro de arredondamento está começando a contaminar o resultado.

## Exemplos

    X=[0,0;1,1;1,0];
    Y=[0,0;0,1;1,1];
    deff('z=f(x,y)','z=cos(x+y)')
    [I,e]=int2d(X,Y,f)
    // computa o integrando sobre o quadrado [0 1]x[0 1]

## Ver Também

- intc
- intl
- int3d
- intg
- mesh