/*************************************************************************** * Copyright (C) 2008 by Douglas Castro,,, * * douglas@douglas-laptop * * * ***************************************************************************/ #ifndef INTERP_INTEG_H #define INTERP_INTEG_H #include #include #include #include "definicoes.h" /** * Funcao de interpolacao cubica. Recebe quatro valores {fx0,fx1,fx2,fx3} * de uma funcao {f} arbitrária em quatro pontos igualmente espacados {x0,x1,x2,x3}, * e uma posicao {x}, e interpola {f(x)}. * @param x0 [in] abscissa * @param fx0 [in] ordenada * @param x1 [in] abscissa * @param fx1 [in] ordenada * @param x2 [in] abscissa * @param fx2 [in] ordenada * @param x3 [in] abscissa * @param fx3 [in] ordenada * @param x [in] abscissa entre x1 e x2, onde sera feita interpolacao */ double interpola_cubica(double x0, double fx0, double x1, double fx1, double x2, double fx2, double x3, double fx3, double x); /** * Dados limites do dominio Q=[xmin,xmax]x[ymin,ymax] calcula-se a integral de f em Q * @param xmin [in] abscissa inferior do dominio de integracao * @param xmax [in] abscissa superior do dominio de integracao * @param ymin [in] ordenda inferior do dominio de integracao * @param ymax [in] ordenada superior do dominio de integracao * @param (f) funcao a ser integrada */ double integra(double xmin, double xmax, double ymin, double ymax, Funcao *f); /** * Interpolacao quadratica para medias celulares. * Dadas as medias do tio da esquerda {x1}, do pai(celula central) {x2} * e do tio da direita {x3}, a funcao preve a media do filho direito da celula central. * @param x1 [in] media celular do tio esquerdo/inferior * @param x2 [in] media celular do pai (celula central) * @param x3 [in] media celular do tio direito/superior */ double interpola_quad( double x1, double x2, double x3); #endif