Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
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 - NUMTETcontendo as abscissas dos vértices dos- NUMTETtetraedros.
- Y
- um array 4 por - NUMTETcontendo as ordenadas dos vértices dos- NUMTETtetraedros.
- Z
- um array 4 por - NUMTETcontendo as terceiras coordenadas dos vértices dos- NUMTETtetraedros.
- 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
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 >> |