Sei sulla pagina 1di 27

Mtodos numricos en ingeniera: Desintegracin de una sustancia.

PROFESORA: Snchez Guerrero Margarita Mara


de Lourdes.

GRUPO: CTG-02.

Maldonado Gutirrez Rafael


2153034810
Ingeniera Metalrgica.
Desintegracin de una sustancia.

Desintegracin de una sustancia.


Contenido.
1. OBJETIVOS....................................................................................................................................... 3
2. INTRODUCCIN. ........................................................................................................................... 3
1 Ecuaciones diferenciales - mtodo de Euler. ............................................................................... 3
2 Interpolacin por diferencias divididas de Newton. ...................................................................... 4
3 Mtodo de mnimos cuadrados. ...................................................................................................... 4
4 Diferenciacin. ................................................................................................................................ 5
5 Integracin. ..................................................................................................................................... 5
3. PLANTEAMIENTO DEL PROBLEMA. ............................................................................................ 6
4. SOLUCIN DEL PROBLEMA. ....................................................................................................... 6
Solucin por Mtodo de Euler. ........................................................................................................... 7
Anlisis para el mtodo de Euler. ................................................................................................... 7
Solucin por interpolacin. ................................................................................................................. 9
Anlisis para el mtodo de interpolacin. ........................................................................................ 9
Solucin por el mtodo de mnimos cuadrados. ............................................................................... 11
Anlisis para Mtodo de mnimos cuadrados. ............................................................................... 11
Solucin por diferenciacin. ............................................................................................................. 13
Anlisis mtodo de diferenciacin. ................................................................................................ 13
Solucin por integracin. .................................................................................................................. 15
Anlisis mtodo de integracin. .................................................................................................... 15
5. CDIGO. ...................................................................................................................................... 17
6. Conclusiones. ............................................................................................................................... 27
7. REFERENCIAS. ........................................................................................................................... 27

2
Desintegracin de una sustancia.

1. OBJETIVOS.
1. Resolver el problema planteado por al menos tres mtodos distintos.

I. Ecuaciones diferenciales-mtodo de Euler.

II. Interpolacin.

III. Mtodo de mnimos cuadrados.

IV. Diferenciacin.

V. Integracin.

VI. Comprobar resultados

2. Obtener la mejor aproximacin respecto al valor terico presentado.

2. INTRODUCCIN.
1 Ecuaciones diferenciales - mtodo de Euler.

Este mtodo predice un nuevo valor de +1 sobre un punto x, usando la primera derivada para
extrapolar en forma lineal sobre el intervalo de paso h, esto es:

+1 = + (, )

A esta ecuacin se le conoce como el mtodo de Euler. [1]

Un ejemplo de este mtodo:

Sea la ecuacin diferencial: = 20 + 7 0.5

Se necesitan ciertas condiciones iniciales, y(0)=5 & h=0.01 se tiene:

0 = 0 & 0 = 5

1 = 0.01; 1 = 0 + 0 = 5 + (0.01)(20(5) + 7 0 ) = 4.07

2 = 0.02; 2 = 1 + 1 = 4.07 + (0.01)(20(4.07) + 7 0.005 ) = 3.32565

Y as sucesivamente.

La exactitud del mtodo de Euler aumente al disminuir el intervalo de paso h, pero es necesario usar
doble precisin en los clculos para evitar la rpida acumulacin de errores por redondeo.

3
Desintegracin de una sustancia.

2 Interpolacin por diferencias divididas de Newton.


Tambin conocido como mtodo de Newton-Raphson, se supone una funcin f continua y
derivable dos veces en el intervalo [a, b], se considera el polinomio de Taylor de primer grado
para f(x) alrededor de .

Este mtodo es uno de los ms utilizados para localizar races ya que en general es muy
eficiente y siempre converge para una funcin polinomial.

Se debe partir de un valor inicial para la raz: xi, este puede ser cualquier valor, el mtodo
convergir a la raz ms cercana.

Si se extiende una tangente desde el punto , el punto donde esta tangente cruza al
eje x representa una aproximacin mejorada de la raz. [2]

3 Mtodo de mnimos cuadrados.


Este mtodo ayuda a ajustar una curva con ciertos valores experimentales, lo que permite
predecir con un error bajo como se comportara dicha funcin en otros puntos.

[3]

La frmula general para un polinomio de grado n en donde hay m parejas de datos es:

4
Desintegracin de una sustancia.

Al resolver el sistema se obtiene el polinomio.

4 Diferenciacin.
Este mtodo nos proporciona aproximaciones a la derivada en un punto, existen variantes en
este mtodo: diferencias hacia atrs, centrales o hacia adelante.

La usada en este caso es la segunda diferencia central.

[4]

5 Integracin.

Se puede calcular la aproximacin de la integral por medio de distintos mtodos, mtodo del
trapecio, Simpson 1/3 y Simpson 3/8. En este caso se usa el de Simpson 1/3.

[5].

5
Desintegracin de una sustancia.

3. PLANTEAMIENTO DEL PROBLEMA.


Una determinada sustancia se desintegra segn la ecuacin = . , donde P es
la cantidad inicial en el tiempo t = 0 y A la cantidad resultante despus de t aos. Si
inicialmente se depositan 500 miligramos de dicha sustancia, cunto tiempo habr de
transcurrir para que quede el 20 por ciento de esta?

Se solicita una solucin particular, pero se considera un problema general; es decir, se puede
ingresar una ecuacin similar en cuanto a estructura, pero con constantes distintas y el
programa aproxima la solucin.
Al ser una ecuacin exponencial se puede hacer uso de varias herramientas tanto del clculo
como de estadstica para aproximar soluciones que cumplan con la igualdad.

4. SOLUCIN DEL PROBLEMA.


Empezamos notando que la grfica de la ecuacin es de carcter exponencial negativo es decir
que se reduce exponencialmente respecto a la variable dependiente que en este caso es y
(cantidad de sustancia) y la variable independiente x que es el tiempo.

Grafica de la funcin () = 500 0.0248 . Donde:

() = .
= .

Y donde 500 es la cantidad inicial, es la interseccin con el eje y.

Se considera el intervalo cerrado [0,500] sobre el eje x pues no se pueden considerar cantidades
negativas por la naturaleza del problema.

La solucin es dependiente del mtodo utilizado.

6
Desintegracin de una sustancia.

Solucin por Mtodo de Euler.


Anlisis para el mtodo de Euler.
Para este mtodo se requiere de la derivada de la funcin: () = (0.0248) 0.0248

El caso particular () = 12.4 0.0248

0 = 0; 1 = 0 + 0 = 0 + (( )/)(0.0248(500) 0.0248(0) )

La idea es hacer que el programa ejecute todas estas aproximaciones de y(t) y que cuando
encuentre una aproximacin al valor del residuo lo muestre en pantalla.

El mtodo de Euler nos proporciona una solucin a ecuaciones diferenciales ordinarias, por lo
que se plantea el hecho de que la ecuacin proporcionada es una ecuacin que se resuelve por
medio de ecuaciones diferenciales; entonces al aplicar este mtodo se llega a una solucin con
un bajo margen de error.

Es requisito que existan condiciones iniciales:

Intervalo de evaluacin: En este caso es el intervalo para el cual la funcin es positiva, es


decir [0,500].

Valor de : Es el valor de tiempo inicial, este siempre ser cero pues se considera que la
desintegracin siempre inicia con la sustancia completa.

Valor de :Es el valor que toma la variable dependiente con el valor de tiempo inicial, es decir,
= .() = ; entonces la condicin siempre tendr el valor de 500.

Numero de particiones: Se recomienda al menos el valor de para que la aproximacin sea


aceptable.

A partir de estas condiciones se ejecuta el proceso para resolver la ecuacin diferencial, cuya
solucin en determinado punto concuerda con la solucin del problema. Ahora es necesario
encontrar esa aproximacin entre todas las soluciones encontradas, para ello se consideran las
condiciones iniciales pues se busca un valor para y que se acerque al residuo de sustancia lo
que nos lleva a su respectivo par ordenado, el valor de x=t que es el tiempo que tarda la
sustancia en desintegrarse a ese punto residuo.

El porcentaje de error para este mtodo:

64.89669002 64.00
% = 100 = 1.38
64.89669002

7
Desintegracin de una sustancia.

A continuacin, se presenta una captura del proceso.

8
Desintegracin de una sustancia.

Solucin por interpolacin.


Anlisis para el mtodo de interpolacin.
Este mtodo requiere de una serie de datos tabulados, se parte de la idea de que la hay:

Se trata de aproximar puntos en base a puntos cercanos a este, la aproximacin depende de


que tan cercanos sean esos puntos entre s por lo que el margen de error depende de este
factor como se puede notar en las siguientes tablas.

Partiendo del supuesto que se tiene una tabla de datos.


Evaluando el punto 150=30%
Por interpolacin se obtiene
x y
47.7191
43.5003896 170
Valor terico
48.5472905 160
48.5472905
51.3292611 140
54.3174858 130 e%=1.705945876

Otra serie probada:


Evaluando el punto 100=20%
Por interpolacin se obtiene
x y
68.125048
90 69.14509791
Valor terico
110 61.05353761
64.8966
120 57.54501434
130 54.31748581 e%=4.97

Se hace uso de la serie de Taylor para encontrar aproximaciones para el punto evaluado, es
bien sabido que la serie de Taylor no es del todo certera para algunas funciones por lo que las
aproximaciones tienen gran variacin de error con los valores reales

9
Desintegracin de una sustancia.

. A continuacin, se presenta una captura del proceso.

10
Desintegracin de una sustancia.

Solucin por el mtodo de mnimos cuadrados.


Anlisis para Mtodo de mnimos cuadrados.
Para el ajuste de curvas para mnimos cuadrados se requiere de un conjunto de pares
ordenados, con ellos se ajusta a un polinomio en este caso de tercer orden para mejorar la
aproximacin.

Se obtiene un polinomio de grado tres con una incgnita, esta incgnita resulta ser la
aproximacin de aos para determinado punto inicial ingresado.

Se consideran valores prueba.

x y
10 390.1799716
Valor terico
20 237.6046358
64.89669002
30 185.4171401
40 144.692109

El polinomio obtenido es:

0.000613 3 + 0.1299 2 12.0312 + 498.1080 = 0

Pero nosotros requerimos que esta relacin nos de la abscisa por lo que se iguala el polinomio
en la ordenada de ese punto, en este caso es el residuo, es decir 100.

0.000613 3 + 0.1299 2 12.0312 + 498.1080 = 100

Al resolver esta ecuacin de tercer grado se obtiene el valor del tiempo para que solo queden
esos 100 miligramos de sustancia (20%).

X=63.829708

El porcentaje de error para este mtodo:

64.89669002 63.829708
% = 100 = 1.64
64.89669002

11
Desintegracin de una sustancia.

. A continuacin, se presenta una captura del proceso.

12
Desintegracin de una sustancia.

Solucin por diferenciacin.


Anlisis mtodo de diferenciacin.
La derivada nos proporciona la cantidad de sustancia restante tras t unidades de tiempo, la
velocidad de desintegracin es proporcional a la cantidad de material restante. Esto quiere decir
que se desintegra ms rpido cuando la sustancia residuo es menor.

() = 500 0.0248

() = 500(0.0248) 0.0248

= () Para el caso de esta funcin la derivada resulta cumplir con esta igualdad.

Se requiere adems de una serie de pares ordenados, los cuales se consideran experimentales.

x y
70.896690 86.17414463
Valor terico
67.896690 92.8300299
64.89669002
61.896690 107.7237615
58.896690 116.0440878

El proceso de solucin por diferenciacin consiste en obtener la derivada aproximada en el


punto de ordenada=residuo=100.

Una vez obtenida se aprovecha la definicin de derivada para obtener el valor de x=t, es decir:

dy
dx 2.479997
ln ( 12.4 )
= = = 64.896730
0.248
Lo cual nos genera una muy buena aproximacin al valor verdadero.

El porcentaje de error para este mtodo:

64.89669002 64.896730
% = 100 = 0.0006
64.89669002

13
Desintegracin de una sustancia.

. A continuacin, se presenta una captura del proceso.

14
Desintegracin de una sustancia.

Solucin por integracin.


Anlisis mtodo de integracin.

La integral proporciona el rea bajo la curva que en este caso representa la cantidad de
sustancia desintegrada hasta el punto x=t.

Se usa el mtodo de Simpson 1/3 para obtener la aproximacin de las integrales.

Se calcula la integral completa, la integral definida en todo el intervalo de inters [0,500] por lo
que se requiere de valores experimentales.

X y
0 500
Valor terico
71.4286 85.04485459
64.89669002
142.8571 14.46529046
214.2857 2.460397048
285.7143 0.418488218
357.1429 0.071180539
428.5714 0.012107107
500 0.002059294354

500
500 0.0248
0

Adems, se calculan integrales hasta el punto que nos interesa para resolver el problema, pero
como no sabemos el valor se deja como variable.
500 500
0.0248 0.0248
500 + 500 = 500 0.0248
0 0

La integral total la podemos calcular sin problemas, en tanto las otras dos quedan en trminos
de la variable t la cual resuelve el problema; entonces al resolver la ecuacin resultante se
obtiene el valor de x que cumple y(x)=100.

El porcentaje de error para este mtodo:

64.89669002 64.896688
% = 100 = 0.00000311
64.89669002

15
Desintegracin de una sustancia.

A continuacin, se presenta una captura del proceso.

16
Desintegracin de una sustancia.

5. CDIGO.
Cdigo en ANSI C.

#include <stdio.h>
#include <math.h>
#define indice 100

float f(double,double,double);
int main()
{
char respuesta;
double
cantidad=0,residuo=0,opcion1=0,opcion2,opcion,fpr,f2,f3,f4,f5,f6,fd=0,dx,pe=0,integral,integral2
,integral3,lim;
float constante=0,aproximado=0,a,b,h,x0,y0,x1,y1,s;
int menu,j=0,k=0,l=0,i,n,m,z,c;
double x,xs[indice],Fx[indice],F1[indice],F2[indice],F3[indice],aprox;
double e,f1,g,h1,q,R,s1=0,s2=0,raiz,s3,s4;
float xmmc,y,xexp,xsum1,xsum,xmul,ysum,ysum1,X[8],Y[8],M[8][8],r[8],me,p,bmmc,sum;

printf("\n\t\t\tDESINTEGRACION DE UNA SUSTANCIA.\n\n");


do{

printf("\nEste programa calcula el tiempo en aos que tarda en desintegrarse determinada


sustancia a tal grado que quede un porcentaje.\n");
printf("\nCual es la cantidad inicial de sustancia?(en mg): ");
scanf("%lf",&cantidad);
printf("\nCual es el porcentaje de sustancia que queda?: ");
scanf("%lf",&residuo);

do{
printf("\n\n\t\tA continuacion seleccione un metodo de calculo.");
printf("\n1.Ecuaciones diferenciales//Metodo de euler.");
printf("\n2.Metodo polinomios de interpolacion .");
printf("\n3.Medodo de minimos cuadrados 3 orden.");
printf("\n4.Metodo de diferenciacion.");
printf("\n5.Metodo de integracion.");
printf("\n6.Metodo para comprobar.");
printf("\nIntroduzca un numero (1-6): ");
scanf("%d",&menu);

17
Desintegracin de una sustancia.

switch(menu)
{
case 1://metodo de euler
i=1;
printf("\nSe requiere el intervalo [a,b].");
printf("\n\nEl valor de a: ");
scanf("%f",&a);
printf("\n\nEl valor de b: ");
scanf("%f",&b);
printf("\n\nEl valor de x0: ");
scanf("%f",&x0);

printf("\n\nEl valor de y0: ");


scanf("%f",&y0);

printf("\n\nEl valor de n(Se recomienda el mismo o mayor nmero de b para mejor precisin):
");
scanf("%d",&n);
printf("\nLa constante de la sustancia: ");
scanf("\%f",&constante);
aproximado=residuo*cantidad/100;
h=(b-a)/n;
s=y0*constante;
printf("\n\t\t\tx|y");
while (i<=n){
y1=y0+(h*s*f(y0,constante,x0));
x1=a+i*h;

printf("\n\nEl resultado es: %f %f\n\n",x1,y1);


x0=x1;
y0=y1;
i=i+1;

if (y1>=aproximado-5&&y1<aproximado+5){
printf("El aproximado es de: %f\n",x1);
opcion1=x1;
}
}//cierrra while i<=n
printf("\nUna aproximacion de aos para lograr que solo quede ese %.3lf %% es:%f
\n",residuo,opcion1);

break;

case 2://por interpolacion.

18
Desintegracin de una sustancia.

printf("\nCalcular polinomios por interpolacion.\n");


x=residuo*cantidad/100;
printf("\nLa cantiad de sustancia restante es: %f",x);
printf("\nIngrese 4 valores cercanos a %lf para evaluar: ",x);
printf("\n\nIngrese el primer valor: ");
scanf("%lf",&xs[0]);

printf("Ingrese el valor de F(t) en ese punto: ");


scanf("%lf",&Fx[0]);

printf("\n\nIngrese el segundo valor: ");


scanf("%lf",&xs[1]);
printf("Ingrese el valor de F(t) en ese punto: ");
scanf("%lf",&Fx[1]);

printf("\n\nIngrese el tercer valor: ");


scanf("%lf",&xs[2]);
printf("Ingrese el valor de F(t) en ese punto: ");
scanf("%lf",&Fx[2]);

printf("\n\nIngrese el cuarto valor: ");


scanf("%lf",&xs[3]);
printf("Ingrese el valor de F(t) en ese punto: ");
scanf("%lf",&Fx[3]);

for (j=0;j<3;j++){
F1[j]=(Fx[j+1]-Fx[j])/(xs[j+1]);
}

for (k=0;k<2;k++){
F2[k]=(F1[k+1]-F1[k])/(xs[k+2]-xs[0]);
}

for(l=0;l<1;l++){
F3[l]=(F2[l+1]-F2[l])/(xs[l+3]-xs[1]);
}

printf("\n\n x | F(x) ");


printf("\n\tb0:%lf",Fx[0]);
printf("\n\tb1:%lf",F1[0]);
printf("\n\tb2:%lf",F2[0]);
printf("\n\tb3:%lf",F3[0]);

printf("\n\n x | Fx | F1 | F2 | F3");

19
Desintegracin de una sustancia.

printf("\n\n%lf|%lf|%lf|%lf|%lf",xs[0],Fx[0],F1[0],F2[0],F3[0]);
printf("\n\n%lf|%lf|%lf|%lf|",xs[1],Fx[1],F1[1],F2[1]);
printf("\n\n%lf|%lf|%lf|",xs[2],Fx[2],F1[2]);
printf("\n\n%lf|%lf|",xs[3],Fx[3]);
aprox=Fx[0]+(F1[0]*(x-xs[0]))+(F2[0]*(x-xs[0])*(x-xs[1]))+(F3[0]*(x-xs[0])*(x-xs[1])*(x-xs[2]));

printf("\n\nEl polinomio de tercer orden (n=3) es:%lf ",aprox);


printf("\nSe requieren aproximadamente %f aos para que la sustancia quede en %.2f
%%.",aprox,residuo);
printf("\n\n");
break;

case 3:
aproximado=residuo*cantidad/100;
printf("\nAproximacion por minimos cuadrados.\n");

printf("Ingrese el total de puntos: ");


scanf("%d",&m);
printf("\nIngresar el valor de los puntos x.");

for(i=0;i<m;i++)
{
printf("\nEl punto x%d es: ",i);
scanf("%f",&xmmc);
X[i]=xmmc;
}
printf("\nIngresar los valores y(x)");

for(i=0;i<m;i++)
{
printf("\nEl punto y%d es: ",i);
scanf("%f",&y);
Y[i]=y;
}

n=3;

for(j=0;j<=n;j++)
{
for(k=0;k<=n;k++)
{
xsum=0;
xsum1=0;
xmul=0;

20
Desintegracin de una sustancia.

xexp=1;
for(i=0;i<m;i++)
{

if((j+k)==0)
{
xsum1=xsum+1;
xsum=xsum1;
}
else
{ xexp=1;
for(l=1;l<=(j+k);l++)
{
xmul=X[i]*xexp;
xexp=xmul;
}
xsum1=xexp+xsum;
xsum=xsum1;
}
}
M[j][k]=xsum;
}
}

ysum=0;
ysum1=0;
xmul=0;
for(j=0;j<=n;j++)
{
ysum=0;
ysum=0;
xmul=0;
for(i=0;i<m;i++)
{
if(j==0)
{
ysum1=ysum+Y[i];
ysum=ysum1;
}
else
{
xexp=1;
for(l=1;l<=j;l++)
{
xmul=X[i]*xexp;

21
Desintegracin de una sustancia.

xexp=xmul;
}
ysum1=(xexp*Y[i])+ysum;
ysum=ysum1;
}
M[j][n+1]=ysum;
}
}

printf("\n\nLa matriz: \n\n");


for(i=0;i<=n;i++)
{
printf("\n");
for(j=0;j<=(n+1);j++)
{
printf("\t %.4f",M[i][j]);
}
}

for(i=0;i<=(n-1);i++)
for(k=i;k<=n;k++)
if(M[k][i]!=0)//pivoteo
{
for(j=(i+1);j<=n;j++)
{
me=M[j][i]/M[i][i];
for(z=0;z<=(n+1);z++)
{
bmmc=M[j][z]-(me*M[i][z]);
M[j][z]=bmmc;
}

if(M[n][n]==0)
{
printf("No existe solucin unica");
}
else
{
r[n]=M[n][n+1]/M[n][n];

for(i=(n-1);i>=0;i--)

22
Desintegracin de una sustancia.

{
sum=0;// se realiza la sustituacion hacia atras
for(j=(i+1);j<=n;j++)
{
p=M[i][j]*r[j];
sum=sum+p;
}
r[i]=(M[i][n+1]-sum)/M[i][i];
}
}

printf("\n\nLos coeficientes del polinomio son:\n");


for(i=0;i<=n;i++)
{
printf("\nCoeficiente a%d=%.4f\n\n",i,r[i]);
}

printf("\nSe procede a resolver la ecuacion.");


e=r[3];
f1=r[2];
g=r[1];
h1=r[0]-aproximado;

printf("\n %fx^3+(%f)x^2+(%f)x+(%f)=0",e,f1,g,h1);
f1=f1/e;
g=g/e;
h1=h1/e;
//solucion de ecuacion 3 grado
q=((3*g)-(f1*f1))/9;
R=(9*f1*g-27*h1-2*(f1*f1*f1))/54;
raiz=sqrt((q*q*q)+(R*R));
s1=pow(R+raiz,1.0/3);
s2=(R-raiz)*-1;
s3=pow(s2,1.0/3);
s4=s3*-1;
x1=s1+s4-(f1/3);
printf("\nLa aproximacion de aos es: %f",x1);
break;

case 4:
printf("Calculo de derivadas, para hacer el calculo se solicitan los datos siguientes: ");
printf("\nCual es la constante de la sustancia?: ");
scanf("%f",&constante);
printf("\n\nDato del intervalo: ");
scanf("%lf",&dx);

23
Desintegracin de una sustancia.

aproximado=residuo*cantidad/100;
pe=(log(aproximado/cantidad))/constante;

printf("1. Primera derivada.\n");


opcion=1;
printf("\n\n\t\t\t!Derivacion numerica\n");

if(opcion==1){
printf("\n\nPrimera derivada\n");
printf("\n\t1.Primeras diferencias centrales.");
printf("\n\t2.Segundas diferencias centrales.");
printf("\nElija una opcion: ");
scanf("%lf",&opcion2);

if(opcion2==1){
printf("\n\nValor de F(%f): ",(pe-dx));
scanf("%lf",&f1);
printf("\n\nValor de F(%f): ",pe);
scanf("%lf",&f2);
printf("\n\nValor de F(%f): ",(pe+dx));
scanf("%lf",&f3);
fd=(f3-f1)/(2*dx);

printf("\nLa aproximacion de la primera derivada es: %lf \n",fd);


aprox=log(fd/(cantidad*constante))/constante;
printf("\nLa aproximacion de aos es:%lf \n",aprox);

}
else if(opcion2==2){
printf("\n\nValor de F(%f): ",(pe+(2*dx)));
scanf("%lf",&f1);
printf("\n\nValor de F(%f): ",(pe+dx));
scanf("%lf",&f2);
printf("\n\nValor de F(%f): ",(pe-dx));
scanf("%lf",&f3);
printf("\n\nValor de F(%f): ",(pe-(2*dx)));
scanf("%lf",&f4);
fd=(-f1+(8*f2)-(8*f3)+f4)/(12*dx);
system("cls");
printf("\nLa aproximacion de la primera derivada es: %f \n",fd);
aprox=log(fd/(cantidad*constante))/constante;
printf("\nLa aproximacion de aos es:%lf \n",aprox);
}
}

24
Desintegracin de una sustancia.

else if(opcion2!=1||opcion2!=2){
printf("\nOpcion no valida.");
}//cierra primer if (opcion 1)

//cierre else del if principal

printf("\n");
break;

case 5:

printf("Integracion por Simpson 1/3.");


printf("\n\nEl valor del limite a es:");
scanf("%f",&a);
b=cantidad;
printf("\n\nEl numero de fajas es:");
scanf("%d",&n);
printf("\nLa constante de la sustancia: ");
scanf("%f",&constante);
c=1;
s=a;
dx=(b-a)/n;
fpr=0;f1=0;f2=0;f3=0;f4=0,f5=0;f6=0;
while(s<=b)
{
printf("\n\nIngrese el valor de f(%.4f):",s);
scanf("%lf",&fpr);

if(c==1)
{
f1=fpr;
}
else if (c==(n+1))
{
f2=fpr;
}
else
{
if((c%2)==0)
{
f3=4*fpr;
f4=f3+f4;
}
else
{

25
Desintegracin de una sustancia.

f5=2*fpr;
f6=f5+f6;
}
}
s=s+dx;
c=c+1;

}
integral=(dx/3)*(f4+f6+f2+f1);
printf("\n\nLa aproximacion de la integral es %f\n\n",integral);
printf("\n\n");
aproximado=cantidad*residuo/100;
lim=(log(aproximado/cantidad))/constante;
integral2=((cantidad/constante)*exp(constante*lim))-((cantidad/constante)*exp(constante*a));
integral3=((cantidad/constante)*exp(constante*cantidad))-
((cantidad/constante)*exp(constante*lim));

printf("\nLas otras integrales son :%f y %f",integral2,integral3);


printf("\nUna mejor aproximacion de la integral es: %lf",integral2+integral3);
printf("\nLa cantidad aproximada de aos es: %f",lim);
break;

case 6:
printf("\nEste metodo es para comprobar");
printf("\nIntroduce la constante de la sustancia: ");
scanf("%f",&constante);

aproximado=log((residuo*cantidad/100)/cantidad)/constante;
printf("\nSe requiere de aproximadamente %f aos para que la sustancia se reduzca a %f %%
del inicial.",aproximado,residuo);
break;
default:
printf("\nHa seleccionado una opcion invalida, intente con otra.");
break;

}//cierra switch
}//cierra do secundario
while(menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6);

//condicion de bucle.
printf("\nDesea intentar de nuevo?(s para si)\n\n");
scanf(" %c",&respuesta);

26
Desintegracin de una sustancia.

}//cierra do principal
while(respuesta=='s' || respuesta=='S');

float f(double c,double d,double q){//funcion caso 1,euler


double r;
r=(exp(d*q));
return r;
}

6. Conclusiones.
Los mtodos que mejor aproximan la solucin al problema son el mtodo por diferenciacin y
el mtodo de integracin por su carcter de precisin en cuanto a clculos.

Adems la funcin es fcilmente derivable e integrable lo que permite comprobar los resultados
manualmente.

Este tipo de programas estructurados permiten la resolucin de problemas de una manera


rpida y sencilla que de otra manera se convertira en un proceso largo de completar y tal vez
de entender. Esto agiliza procesos en cualquier tipo de situacin laboral por ejemplo.

7. REFERENCIAS.
[1]. Torres Moreno, J. (1993). Mtodos numricos con software en C (1 Edicin. ed., Vol. nico,
pp. 302-303). Mxico D.F., D.F.: ...

[2] Torres Moreno, J. (1993). Mtodos numricos con software en C (1 Edicin. ed., Vol. nico,
pp. 288-289). Mxico D.F., D.F.: ...

[3] Snchez Guerrero, L. Ajuste de curvas. Mtodos numricos. Obtenido 03, 2017, de
http://aniei.org.mx/paginas/uam/CursoMN/curso_mn_13.html

[4] Formulas de diferenciacin. Frmulas de diferenciacin. Obtenido 03, 2017, de


https://mnuac.wikispaces.com/file/view/FRMULAS+DE+DIFERENCIACIN.pdf

[5] Snchez Guerrero, L. Integracin numrica. Mtodos numricos. Obtenido 03, 2017, de
http://aniei.org.mx/paginas/uam/CursoMN/curso_mn_16.html

27

Potrebbero piacerti anche