Diferencia entre revisiones de «Desintegración Radiactiva.Grupo 5»

De MateWiki
Saltar a: navegación, buscar
(Apartado 1)
Línea 40: Línea 40:
 
legend('Euler explícito','Location','best');
 
legend('Euler explícito','Location','best');
 
}}
 
}}
 +
 +
==Resolución por el método del Trapecio==
 +
{{matlab|codigo=clear all
 +
%Trapecio
 +
clear all
 +
clf
 +
 +
%y´=f(t,y);
 +
%y(t0)=y0;
 +
 +
%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))
 +
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.
 +
 +
%En este caso, cuando despejo manualmente:
 +
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))
 +
%(1+kh/2)y(n+1)=y(n)-khy(n)/2
 +
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)
 +
 +
%SOLUCIÓN:
 +
 +
%PASO 1
 +
%DATOS ENUNCIADO:
 +
t0=0;
 +
y0=1;
 +
tN=10000;
 +
 +
%NUMERO DE SUBINTERVALOS:N
 +
h=0.1;
 +
%h=(tN-t0)/N
 +
N=(tN-t0)/h;
 +
 +
t=t0:h:tN;
 +
%t=linspace(t0,tN,N+1);
 +
y=zeros(1,N+1);
 +
%relleno el primer valor de "y" con y0.
 +
y(1)=y0;
 +
 +
%Constante de desintegración:
 +
k=1.24*10^(-4);
 +
 +
%Bucle:
 +
i=1;
 +
while y(i)>(0.08*y0)
 +
y(i+1)=(y(i)-(k*h*y(i))/2)/(1+(k*h)/2); %Trapecio
 +
t(i+1)=t(i)+h;
 +
t(i+1)=t(i)+h;
 +
  i=i+1;
 +
end
 +
 +
disp('Tiempo para y=0.08:')
 +
disp(t(end))
 +
 +
hold on
 +
plot(t,y);
 +
legend('Trapecio','Location','best');
 +
}}
 +
 +
[[Image:Trapecio3)cuandoy=0.08.png|500px|thumb|center|Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 . ]]

Revisión del 00:54 25 feb 2015

Trabajo realizado por estudiantes
Título Desintegración Radiactiva. Grupo 5.
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Álvaro Ramón López, Diego García Vaquero, Noemí Palomino Bustos, Mercedes Ruiz Barrajón, Teresa Quintana Romero, Araceli Martín Candilejo.
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Apartado 1

clear all

%% TRABAJO 3 APARTADO 1
%       M'(t)=-1,24*10^(-4)*M(t)
%       M(0)=1

% M(t) representa la cantidad de C14 en un instante dado, como no nos
% dan una cantidad inicial M0 supondremos que esta es uno. Nuestro objetivo
% es determinar en que intanste queda un 8% de la cantidad inicial M0.7
% Como M0=1, es como si trabajaramos todo el rato en tanto por uno
% Después demostraremos que quedará un 8% de M0 pasado el tiempo que
% tratamos de determinar independientemente del M0 adoptado.

t0=0;
h=input('Inserte el valor del paso, por favor: ');
M0=input('Inserte la cantidad inicial de carbono 14, por favor: ');
t(1)=t0;
M(1)=M0;

% Euler explícito
i=1;
while M(i)>(0.08*M0)
  M(i+1)=M(i)+h*((-1.24*10^(-4))*M(i));
  t(i+1)=t(i)+h;
  i=i+1;
end

disp('Tiempo final:')
disp(t(end))
plot(t,M)
xlabel('Cantidad de Carbono 14');
ylabel('Tiempo (años)');
legend('Euler explícito','Location','best');


2 Resolución por el método del Trapecio

clear all
%Trapecio
clear all
clf

%y´=f(t,y);
%y(t0)=y0;

%y(n+1)=yn+(h/2)*(f(tn,yn)+f(t(n+1),y(n+1)))
%Hay que despejar manualmente para tener SOLO y(n+1) a un lado de la ecuación.

%En este caso, cuando despejo manualmente:
%y(n+1)=y(n)+(h/2)(-ky(n)-ky(n+1))
%(1+kh/2)y(n+1)=y(n)-khy(n)/2
%y(n+1)=(y(n)-khy(n)/2)/(1+kh/2)

%SOLUCIÓN:

%PASO 1
%DATOS ENUNCIADO:
t0=0;
y0=1;
tN=10000;

%NUMERO DE SUBINTERVALOS:N
h=0.1;
%h=(tN-t0)/N
N=(tN-t0)/h;

t=t0:h:tN;
%t=linspace(t0,tN,N+1);
y=zeros(1,N+1);
%relleno el primer valor de "y" con y0.
y(1)=y0;

%Constante de desintegración:
k=1.24*10^(-4);

%Bucle:
i=1;
while y(i)>(0.08*y0)
 y(i+1)=(y(i)-(k*h*y(i))/2)/(1+(k*h)/2); %Trapecio
 t(i+1)=t(i)+h;
 t(i+1)=t(i)+h;
  i=i+1;
end

disp('Tiempo para y=0.08:')
disp(t(end))

hold on
plot(t,y);
legend('Trapecio','Location','best');


Evolución del contenido de C14 según el método del Trapecio con un paso h=0.1 .