PROGRAMA IMPLEMENTA SIMPSON 3/8 PARA INTEGRALES
Enviado por YareliHann • 22 de Octubre de 2015 • Informe • 1.067 Palabras (5 Páginas) • 148 Visitas
SIMPSON
//ESTE PROGRAMA IMPLEMENTA SIMPSON 3/8 PARA INTEGRALES...
#include
#include
double f(double),x0,h,xn;
unsigned int n;
void leer_datos(),simpson();
main()
{
leer_datos();
simpson();
return 0;
}
double f(double x)
{
return(pow(x,2.0));
}
void leer_datos()
{
printf("\n\tEste programa calcula la integral por Simpson 3/8...\n");
printf("\t\tLimite Inferio=");
scanf("%lf",&x0);
printf("\t\tProporciona Limite Superior=");
scanf("%lf",&xn);
printf("\t\t# De Particiones (Par)=");
scanf("%u",&n);
h=(xn-x0)/n;
}
void simpson()
{
double acumulador1,acumulador2,integral;
register int i;
acumulador1=0;
acumulador2=0;
for(i=1;i<=n-1;i+=2)
acumulador1+=f(x0+i*h);
for(i=2;i<=n-2;i+=2)
acumulador2+=f(x0+i*h);
integral=3*h/8*(f(x0)+3*acumulador1+3*acumulador2+f(x0+xn));
printf("\n\tIntegral=%12.18lf\n",integral);
}
PRIMERA Y SEGUNDA DERIVADA
//Este programa calcula la primera y segunda derivada de f(x)...
#include
#include
void lectura_datos(),primera_derivada(),segunda_derivada(),imprimir();
unsigned ndatos;
double xminima,xmaxima,h,funcion[101],derivada[101],segderivada[101],f(double);
main()
{
lectura_datos();
primera_derivada();
segunda_derivada();
imprimir();
return 0;
}
void lectura_datos()
{
printf("\nEste programa calcula la primera y segunda derivada de f(x)..\n");
printf("\tXminima=");
scanf("%lf",&xminima);
printf("\tXmaxima=");
scanf("%lf",&xmaxima);
printf("\t#Calculos=");
scanf("%u",&ndatos);
h=(xmaxima-xminima)/ndatos;
}
void primera_derivada()
{
register int j;
double x;
for(j=0;j<=ndatos;++j)
{
x=xminima+j*h;
derivada[j]=(-25*f(x)+48*f(x+h)-36*f(x+2*h)+16*f(x+3*h)-3*f(x+4*h))/(12*h);
}
}
void segunda_derivada()
{
register int j;
double x;
for(j=0;j<=ndatos;++j)
{
x=xminima+j*h;
...