Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
GRUPO: CTG-02.
2
Desintegracin de una sustancia.
1. OBJETIVOS.
1. Resolver el problema planteado por al menos tres mtodos distintos.
II. Interpolacin.
IV. Diferenciacin.
V. Integracin.
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 = + (, )
0 = 0 & 0 = 5
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.
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]
La frmula general para un polinomio de grado n en donde hay m parejas de datos es:
4
Desintegracin de una sustancia.
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.
[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.
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.
() = .
= .
Se considera el intervalo cerrado [0,500] sobre el eje x pues no se pueden considerar cantidades
negativas por la naturaleza del problema.
6
Desintegracin de una sustancia.
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.
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.
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.
64.89669002 64.00
% = 100 = 1.38
64.89669002
7
Desintegracin de una sustancia.
8
Desintegracin de una sustancia.
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.
10
Desintegracin de una sustancia.
Se obtiene un polinomio de grado tres con una incgnita, esta incgnita resulta ser la
aproximacin de aos para determinado punto inicial ingresado.
x y
10 390.1799716
Valor terico
20 237.6046358
64.89669002
30 185.4171401
40 144.692109
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.
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
64.89669002 63.829708
% = 100 = 1.64
64.89669002
11
Desintegracin de una sustancia.
12
Desintegracin de una sustancia.
() = 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
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.
64.89669002 64.896730
% = 100 = 0.0006
64.89669002
13
Desintegracin de una sustancia.
14
Desintegracin de una sustancia.
La integral proporciona el rea bajo la curva que en este caso representa la cantidad de
sustancia desintegrada hasta el punto x=t.
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.
64.89669002 64.896688
% = 100 = 0.00000311
64.89669002
15
Desintegracin de una sustancia.
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;
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 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;
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;
18
Desintegracin de una sustancia.
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 | 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]));
case 3:
aproximado=residuo*cantidad/100;
printf("\nAproximacion por minimos cuadrados.\n");
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;
}
}
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 %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;
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);
}
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)
printf("\n");
break;
case 5:
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));
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');
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.
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
[5] Snchez Guerrero, L. Integracin numrica. Mtodos numricos. Obtenido 03, 2017, de
http://aniei.org.mx/paginas/uam/CursoMN/curso_mn_16.html
27