Diferencia entre revisiones de «Reacciones con autocatálisis 4-C»

De MateWiki
Saltar a: navegación, buscar

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/mat/public_html/w/includes/diff/DairikiDiff.php on line 434
(Resolución del P.V.I por Euler)
(Resolución del P.V.I por Euler)
Línea 13: Línea 13:
 
===Resolución del P.V.I por Euler===
 
===Resolución del P.V.I por Euler===
  
[[Archivo:JJ1.png|400px|miniaturadeimagen|thumb|right|Concentraciones de A y B]]
+
[[Archivo:JJ1.png|400px|miniaturadeimagen|thumb|right|figure1]]
 
{{matlab|codigo=
 
{{matlab|codigo=
 
clear all
 
clear all
Línea 63: Línea 63:
 
legend('Elemento B','Elemento A','Location','best');
 
legend('Elemento B','Elemento A','Location','best');
 
title('Gráfico de las concentraciones de A y B');
 
title('Gráfico de las concentraciones de A y B');
 
 
hold off
 
hold off
 
}}
 
}}
[[Archivo:JJ2.png|400px|miniaturadeimagen|thumb|right|Concentraciones de B según los distintos métodos numéricos]]
+
 
[[Archivo:JJ2a.png|400px|miniaturadeimagen|thumb|right|Concentraciones de B según los distintos métodos numéricos ampliada]]
+
[[Archivo:JJ2.png|400px|miniaturadeimagen|thumb|right|figure2]]
 +
[[Archivo:JJ2a.png|400px|miniaturadeimagen|thumb|right|Zoom figure2]]
 +
 
 
{{matlab|codigo=
 
{{matlab|codigo=
 
figure(2)
 
figure(2)
Línea 82: Línea 83:
  
 
{{matlab|codigo=
 
{{matlab|codigo=
igure(3)
+
figure(3)
 
%gráfico de errores
 
%gráfico de errores
 
ey=zeros(1,length(t));
 
ey=zeros(1,length(t));

Revisión del 14:00 4 mar 2015

Trabajo realizado por estudiantes
Título Visualizaci´on de campos escalares y vectoriales en elasticidad. Grupo 4-C
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Ignacio Mollá Carcaño, Jorge Javier Rodríguez Anzules, Claudia Jalón Manzano, Pablo Revuelta Aragón, Pedro Torrecilla Sánchez, Alejandro Martínez Gamonal
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Reacción bimolecular: A+B[math]\longrightarrow[/math] C

1.1 Introdución

Estamos ante una reacción química irreversible autocatalítica, [math]A+B \longrightarrow C [/math]. Esta reacción obviamente cumplirá el principio de conservación de la masa, es decir, la suma de las masas de los reactivos deberá ser igual a la de los productos, o dicho de otra forma, la velocidad de destrucción es igual a la de creación. Además sabemos que la velocidad de reacción es igual al producto de los reactivos multiplicado por la constante cinética.

[math] X_{0}=1 mol/l[/math] e [math]Y_{0} =0.001 mol/l[/math] ,siendo [math]Y=B[/math] , [math]X=A [/math] y [math] K=1 [/math]

[math] y'(t)=kx(t)y(t)[/math] 
[math] y'(t)=y(t)(1.01-y(t)) [/math]

1.2 Resolución del P.V.I por Euler

figure1
clear all
clf
clc
%Trabajo 2: Reacciones con autocatálisis

%Datos
h=0.1;
t0=0;
y0=0.01;
x0=1;
tN=10;

%Calculamos los vectores(Apartados 2 y 3)
t=t0:h:tN;          % vector de tiempos
N=(tN-t0)/h;
y=zeros(1,length(t)); %vector de concentración de B según euler
x=zeros(1,length(t)); %vector de concentración de A según euler
z=zeros(1,length(t)); %vector de concentración de B según trapecio
r=zeros(1,length(t)); %vector de concentración de B según rounge-kutta
e=zeros(1,length(t)); %vector de concentración de B exacto
y(1)=y0;
x(1)=1;
z(1)=y0;
r(1)=y0;

for i= 1:N;
    %Euler
    y(i+1)=y(i)+h*(y(i)*(1.01-y(i)));
    x(i)=1.01-y(i);
    %Trapecio
    z(i+1)=((1.01*(h/2)-1)+sqrt((1-1.01*(h/2))^2-2*h*((h/2)*(z(i)^2)-(1+1.01*(h/2))*z(i))))/h;
    %Rounge-kutta
    K1=r(i)*(1.01-r(i));
    K2=(r(i)+1/2*K1*h)*(1.01-(r(i)+1/2*K1*h));
    K3=(r(i)+1/2*K2*h)*(1.01-(r(i)+1/2*K2*h));
    K4=(r(i)+(K3*h))*(1.01-r(i)+(K3*h));
    r(i+1)=r(i)+(h/6)*(K1+2*K2+2*K3+K4);
    %Exacta
    e(i+1)=(1.01/(100*exp(-1.01*t(i+1))+1));
end

figure(1)
hold on
plot(t,y);
plot(t,x,'r');
xlabel('tiempo(s)'); ylabel('concentración(mol/l)');
legend('Elemento B','Elemento A','Location','best');
title('Gráfico de las concentraciones de A y B');
hold off


figure2
Zoom figure2
figure(2)
hold on
plot(t,y,'b') %euler
plot(t,z,'g') %trapecio
plot(t,r,'k') %rounge-kutta
plot(t,e,'r') %exacta
xlabel('tiempo(s)'); ylabel('concentración de B(mol/l)');
legend('Euler','Trapecio','Rounge-kutta','Exacta','Location','best');
title('Gráfico de la concentración de B según los diferentes métodos')
hold off


figure(3)
%gráfico de errores
ey=zeros(1,length(t));
et=zeros(1,length(t));
er=zeros(1,length(t));
ey(1)=0; et(1)=0; er(1)=0;
for i=1:N
ey(i+1)=abs(y(i+1)-e(i+1)); %errores euler
et(i+1)=abs(z(i+1)-e(i+1)); %errores trapecio
er(i+1)=abs(r(i+1)-e(i+1)); %errores rounge-kutta
end

hold on
plot(t,ey,'b')
plot(t,et,'g')
plot(t,er,'k')
legend('Errores euler','Errores trapecio','Errores rounge-kutta','Location','best');
xlabel('tiempo(s)'); ylabel('error cometido(mol/s)');
title('Grafico de errores')
hold off
%Por sistemas de ecuaciones (Apartado 4)

xx=zeros(1,length(t));  %vector de concentración de A según euler
yy=zeros(1,length(t));  %vector de concentración de B según euler
ra=zeros(1,length(t));  %vector de concentración de A según rounge-kutta
rb=zeros(1,length(t));  %vector de concentración de B según rounge-kutta
xx(1)=x0;
yy(1)=y0;
ra(1)=x0;
rb(1)=y0;

for i=1:N
    %Sistema con Euler
    xx(i+1)=xx(i)-h.*(xx(i).*yy(i));
    yy(i+1)=yy(i)+h.*(xx(i).*yy(i));
    %Sistema con Rounge-kutta de orden 4
    K1a=-1*ra(i)*rb(i);
    K1b=1*ra(i)*rb(i);
    K2a=-1*(ra(i)+1/2*K1a*h)*(rb(i));
    K2b=1*(rb(i)+1/2*K1b*h)*(ra(i));
    K3a=-1*(ra(i)+1/2*K2a*h)*(rb(i));
    K3b=1*(rb(i)+1/2*K2b*h)*(ra(i));
    K4a=-1*(ra(i)+K3a*h)*(rb(i));
    K4b=1*(rb(i)+K3b*h)*(ra(i));
    ra(i+1)=ra(i)+(h/6)*(K1a+2*K2a+2*K3a+K4a);
    rb(i+1)=rb(i)+(h/6)*(K1b+2*K2b+2*K3b+K4b);
end

figure (4)
hold on
plot(t,xx,'b')
plot(t,yy,'r')
plot(t,ra,'g')
plot(t,r,'k')
xlabel('tiempo(s)'); ylabel('concentración(mol/l)');
legend('Concentracion de A con Euler','Concentracion de B con Euler','Concentración de A con Rounge-kutta','Concentración de B con Rounge-kutta','Location','best');
hold off