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

Change language to:
English - Français - 日本語 -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Manual Scilab >> Equações Diferenciais > int3d

int3d

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

Seqüência de Chamamento

[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&lt;=x&lt;=1;-1&lt;=y&lt;=1;-1&lt;=z&lt;=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

Autores

Jarle Berntsen

The Computing Centre, University of Bergen, Thormohlens gt. 55, N-5008 Bergen, Noruega Fone.. 47-5-544055 Email.. jarle@eik.ii.uib.no,

Ronald Cools

Dept. of Computer Science, Katholieke Universiteit Leuven, Celestijnenlaan 200A, B-3030 Heverlee, Belgium Fone.. 32-16-201015 (3562) Email.. ronald@cs.kuleuven.ac.be,

Terje O. Espelid

Department of Informatics, University of Bergen, Thormohlens gt. 55, N-5008 Bergen, Norway Fone.. 47-5-544180 Email.. terje@eik.ii.uib.no

<< 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:
Wed Jan 26 16:24:31 CET 2011