Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - Português


int3d

integral definida 3d pelo método da quadratura e cubatura

Seqüência de Chamamento

[result, err] = int3d(X, Y, Z, f)
[result, err] = int3d(X, Y, Z, f, nf)
[result, err] = int3d(X, Y, Z, f, nf, params)

Parâmetros

X

um array 4 por NUMTET contendo as abscissas dos vértices dos NUMTET tetraedros.

Y

um array 4 por NUMTET contendo as ordenadas dos vértices dos NUMTET tetraedros.

Z

um array 4 por NUMTET contendo as terceiras coordenadas dos vértices dos NUMTET tetraedros.

f

função externa (function, string ou lista) definindo o integrando f(xyz,nf), onde xyz é o vetor das coordenadas de um ponto e nf os números das funções

nf

o número da função a ser integrada (o padrão é 1)

params

vetor de reais [minpts, maxpts, epsabs, epsrel]. O valor padrão é [0, 1000, 0.0, 1.d-5].

epsabs

limite do erro absoluto desejado

epsrel

limite do erro relativo desejado

minpts

número mínimo de avaliações da função

maxpts

número máximo de avaliações da função. O número de avaliações da função sobre cada subregião é 43

result

o valor da integral, ou vetor de valores da integral.

err

estimativas do erro absoluto

Descrição

A função calcula uma aproximação a um dado vetor de integrais definidas

I  I  I (F ,F ,...,F )      dx(3)dx(2)dx(1),
          1  2      numfun

onde a região de integração são os NUMTET tetraedros e onde

F = F (X(1),X(2),X(3)), J = 1,2,...,NUMFUN.
 J   J

uma estratégia globalmente adaptativa é aplicada para se computar aproximações result(k) esperando-se que satisfaça, para cada componente de I, à seguinte precisão: ABS(I(K)-RESULT(K))<=MAX(EPSABS,EPSREL*ABS(I(K)))

int3d repetidamente subdivide os tetraedros com maiores erros estimados e estima as integrais e os erros sobre os novos tetraedros até que a exigência de erro seja encontrada ou MAXPTS avaliações da função tenham sido feitas.

Uma regra de 43 pontos de integração com todos os pontos de avaliação dentro dos tetraedros é aplicada. A regra tem grau polinomial 8.

Se os valores dos parâmetros de entrada EPSABS ou EPSREL são suficientemente grandes, uma regra de integração é aplicada sobre cada tetraedro e os valores são aproximados para se fornecer as aproximações RESULT(K). Nenhuma subdivisão posterior dos tetraedros será feita.

Quando int3d computa estimativas a um vetor de integrais, é dado tratamento igual a todos os componentes do vetor. Isto é, I(Fj) e I(Fk) paraj diferente de k, são estimados com a mesma subdivisão da região de integração. Para integrais suficientemente semelhantes, podemos economizar tempo aplicando int3d a todos os integrando em uma chamada. Para integrais que variam continuamente em função de um parâmetro, as estimativas produzidas por int3d também irão variar continuamente quando a subdivisão é aplicada a todos os componentes. Este geralmente não será o caso quando componentes diferentes são tratados separadamente.

Por outro lado, este recurso deve ser utilizado com cautela quando os componentes diferentes da integral requerem claramente subdivisões diferentes.

Referências

Rotina FORTRAN dcutet.f

Exemplos

X=[0;1;0;0];
Y=[0;0;1;0];
Z=[0;0;0;1];
[RESULT,ERROR]=int3d(X,Y,Z,'int3dex')
// computa o integrando exp(x*x+y*y+z*z) sobre o
//tetraedro (0.,0.,0.),(1.,0.,0.),(0.,1.,0.),(0.,0.,1.)

 //integração sobre um cubo  -1<=x<=1;-1<=y<=1;-1<=z<=1

//  fundo  -topo-    direita -esquerda- frente  -traseira-
X=[ 0, 0,    0, 0,    0, 0,    0, 0,    0, 0,    0, 0;
   -1,-1,   -1,-1,    1, 1,   -1,-1,   -1,-1,   -1,-1;
    1,-1,    1,-1,    1, 1,   -1,-1,    1,-1,    1,-1;
    1, 1,    1, 1,    1, 1,   -1,-1,    1, 1,    1, 1];
Y=[ 0, 0,    0, 0,    0, 0,    0, 0,    0, 0,    0, 0;
   -1,-1,   -1,-1,   -1, 1,   -1, 1,   -1,-1,    1, 1;
   -1, 1,   -1, 1,    1, 1,    1, 1,   -1,-1,    1, 1;
    1, 1,    1, 1,   -1,-1,   -1,-1,   -1,-1,    1, 1];
Z=[ 0, 0,    0, 0,    0, 0,    0, 0,    0, 0,    0, 0;
   -1,-1,    1, 1,   -1, 1,   -1, 1,   -1,-1,   -1,-1;
   -1,-1,    1, 1,   -1,-1,   -1,-1,   -1, 1,   -1, 1;
   -1,-1,    1, 1,    1, 1,    1, 1,    1, 1,    1, 1];

function v=f(xyz, numfun),v=exp(xyz'*xyz),endfunction
[result,err]=int3d(X,Y,Z,f,1,[0,100000,1.d-5,1.d-7])

function v=f(xyz, numfun),v=1,endfunction
[result,err]=int3d(X,Y,Z,f,1,[0,100000,1.d-5,1.d-7])

Ver Também

  • intc — integral de Cauchy
  • intl — integral de Cauchy ao longo de um arco circular
  • int2d — integral definida 2d por quadratura e cubatura
Report an issue
<< int2d Equações Diferenciais intc >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:53:23 CEST 2024