|
|
| (No se muestran 3 ediciones intermedias del mismo usuario) |
| Línea 1: |
Línea 1: |
| − | :Línea con sangría
| |
| − | === Apartado 4 ===
| |
| | | | |
| − | {{matlab | codigo=
| |
| − |
| |
| − | t0=0; tf=10;
| |
| − | w0=[1;0.01];
| |
| − | h=0.1; N=(tf-t0)/h;
| |
| − | t=t0:h:tf;
| |
| − | w=zeros(2,N+1); %las filas es el número de incógnitas en el sistema
| |
| − | w(:,1)=w0;
| |
| − | ww=w0;
| |
| − |
| |
| − | %Euler
| |
| − |
| |
| − | for n=1:N
| |
| − |
| |
| − | F=[-1*ww(1)*ww(2);1*ww(1)*ww(2)];
| |
| − |
| |
| − | ww=ww+h*F;
| |
| − | w(:,n+1)=ww;
| |
| − | end
| |
| − |
| |
| − | subplot(1,2,1)
| |
| − | plot(t,w,'*'); %MATLAB dibuja una grágica para cada columna, NO poner color para que nos ponga cada una de un colo
| |
| − | legend('Concentración de A','Concentración de B')
| |
| − | title('Euler')
| |
| − |
| |
| − | %Runge Kuta
| |
| − |
| |
| − | z0=[1;0.01]; %para volver a empezar
| |
| − | z=zeros(2,N+1); %las filas es el número de incógnitas en el sistema
| |
| − | z(:,1)=z0;
| |
| − | zz=z0;
| |
| − |
| |
| − | for n=1:N
| |
| − |
| |
| − | F=[-1*zz(1)*zz(2);1*zz(1)*zz(2)];
| |
| − |
| |
| − | k1=F;
| |
| − |
| |
| − | z1=F+(1/2)*k1*h;
| |
| − | k2=z1;
| |
| − |
| |
| − | z2=F+(1/2)*k2*h;
| |
| − | k3=z2;
| |
| − |
| |
| − | z3=F+k3*h;
| |
| − | k4=z3;
| |
| − |
| |
| − | zz=zz+(h/6)*(k1+2*k2+2*k3+k4);
| |
| − | z(:,n+1)=zz;
| |
| − | end
| |
| − |
| |
| − | subplot(1,2,2)
| |
| − | plot(t,z,'o')
| |
| − | legend('Concentración de A','Concentración de B')
| |
| − | title('Runge-Kutta')
| |
| − |
| |
| − | }}
| |
| − |
| |
| − | == Apartado 7 ==
| |
| − |
| |
| − | {{matlab | codigo=
| |
| − |
| |
| − | t0=0; tf=200;
| |
| − | h=0.01; N=(tf-t0)/h;
| |
| − | t=t0:h:tf;
| |
| − |
| |
| − | A0=5; X0=5*(10^-4); Y0=10^(-5); B0=0;
| |
| − |
| |
| − | A=zeros(1,N+1);
| |
| − | X=zeros(1,N+1);
| |
| − | Y=zeros(1,N+1);
| |
| − | B=zeros(1,N+1);
| |
| − |
| |
| − | A(1)=A0; X(1)=X0; Y(1)=Y0; B(1)=B0;
| |
| − | aa=A0; xx=X0; yy=Y0; bb=B0;
| |
| − |
| |
| − | K1=0.1; K2=K1; K3=K1/2;
| |
| − |
| |
| − | for n=1:N
| |
| − |
| |
| − | K1A=-K1*aa*xx;
| |
| − | K2A=K1A+K1A*h;
| |
| − |
| |
| − | K1X=K1*aa*xx-K2*xx*yy;
| |
| − | K2X=K1X+K1X*h;
| |
| − |
| |
| − | K1Y=K2*xx*yy-K3*yy;
| |
| − | K2Y=K1Y+K1Y*h;
| |
| − |
| |
| − | K1B=K3*yy;
| |
| − | K2B=K1B+K1B*h;
| |
| − |
| |
| − | aa=aa+0.5*h*(K1A+K2A);
| |
| − | xx=xx+0.5*h*(K1X+K2X);
| |
| − | yy=yy+0.5*h*(K1Y+K2Y);
| |
| − | bb=bb+0.5*h*(K1B+K2B);
| |
| − |
| |
| − | A(n+1)=aa;
| |
| − | X(n+1)=xx;
| |
| − | Y(n+1)=yy;
| |
| − | B(n+1)=bb;
| |
| − |
| |
| − | end
| |
| − |
| |
| − | plot(t,A,'*r');
| |
| − | hold on
| |
| − | plot(t,X,'*g');
| |
| − | plot(t,Y,'*y');
| |
| − | plot(t,B,'*');
| |
| − | legend('Concentración de A','Concentración de X', 'Concentración de Y', 'Concentración de B')
| |
| − | hold off
| |
| − |
| |
| − | }}
| |