Diferencia entre revisiones de «Desintegración Radiactiva.Grupo 5»
De MateWiki
(→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');