Diferencia entre revisiones de «Logística con umbral A7»

De MateWiki
Saltar a: navegación, buscar
(PVI)
(Apartado 4 y 5)
Línea 101: Línea 101:
  
 
[[Archivo:Apar2.jpg]]
 
[[Archivo:Apar2.jpg]]
 +
 +
Podemos observar como cuando la poblacion inicial es superior al limite sustentable ésta debera decrecer para sostenerse, mientras que cuando la poblacion inicial es menor de la poblacion minima para poder perpetuarse y desarrollarse esta decrecera.
  
 
[[Categoría:Ecuaciones Diferentiales]]
 
[[Categoría:Ecuaciones Diferentiales]]
 
[[Categoría:ED14/15]]
 
[[Categoría:ED14/15]]
 
[[Categoría:Trabajos 2014-15]]
 
[[Categoría:Trabajos 2014-15]]

Revisión del 14:47 26 feb 2015

Trabajo realizado por estudiantes
Título Logística con umbral A-7
Asignatura Ecuaciones Diferenciales
Curso Curso 2014-15
Autores Bautista Mendo, Jorge

Casanova Lozano, Javier

Chueca Rincón, Jaime

Crespo Ferrer, Enrique

Domínguez Trufero, Miguel

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 PVI

Resolveremos la ecuación (7) por los tres distintos métodos: Runge-Kutta, Euler y Heun. Cada unos de ellos nos aportara una aproximación de la solución exacta siendo el método de Runge-Kutta la mejor aproximación de las tres, y el de Euler el menos exacto. También dependerá del paso(h) elegido, ya que cuanto menor sea éste, mas exacta sera la función, debido a que habrá un mayor numero de intervalos con un diferencial de área menor, lo que provoca que la integral calculada sea mas precisa. Usaremos los pasos h = 1; h = 0.1; h = 0.01 . Tomando como intervalo 100 años, una población inicial de 60. El 'm2' se refiere a la población máxima o limite que es capaz de mantenerse y el 'm1' es la población mínima necesaria para poder llegar a desarrollarse.

clear all
%DATOS DEL PROBLEMA
t0=0;tN=100;    %tiempos inicial y final
y0=60;          %condición inicial
%El tamaño de paso lo haremos con h=1,0.1,0.01
h=input('Introduce tamaño de paso:');      %Tamaño de paso
N=(tN-t0)/h;            %discretización
r=0.04;m1=30;m2=100;  %constantes de la ecuación
t=t0:h:tN;          %vector de tiempos
%Vector y su condición inicial en cada metodo
y=zeros(1,N+1); y(1)=y0;   %Runge-Kutta
z=zeros(1,N+1);z(1)=y0;    %Euler
he=zeros(1,N+1);he(1)=y0;  %Heun
for i=1:N
 %Método Runge-Kutta:
 K1=-r*y(i)*(1-y(i)/m1)*(1-y(i)/m2);
 K2=-r*(y(i)+1/2*K1*h)*(1-((y(i)+1/2*K1*h)/m1))*(1-((y(i)+1/2*K1*h)/m2));
 K3=-r*(y(i)+1/2*K2*h)*(1-((y(i)+1/2*K2*h)/m1))*(1-((y(i)+1/2*K2*h)/m2));
 K4=-r*(y(i)+K3*h)*(1-((y(i)+K3*h)/m1))*(1-((y(i)+K3*h)/m2));
 y(i+1)= y(i)+h/6*(K1+2*K2+2*K3+K4);
 %Método Euler:
 z(i+1)=z(i)+h*(-r*(z(i)+1/2*K1*h)*(1-(z(i)+1/2*K1*h)/m1)*(1-(z(i)+1/2*K1*h)/m2));
 %Método de Heun:
 Kh1=-r*he(i)*(1-he(i)/m1)*(1-he(i)/m2);
 Kh2=-r*(he(i)+Kh1*h)*(1-((he(i)+Kh1*h)/m1))*(1-((he(i)+Kh1*h)/m2));
 he(i+1)= he(i)+h/2*(Kh1+Kh2);      
end
%Dibujamos las distintas gráficas:
subplot(3,1,1);
plot(t,y,'b','linewidth',2)
legend('RUNGE-KUTTA','location','best')
subplot(3,1,2);
plot(t,z,'r','linewidth',2)
legend('EULER','location','best')
subplot(3,1,3);
plot(t,he,'g','linewidth',2)
legend('HEUN','location','best')

Como podemos comprobar en las siguientes imágenes la población empieza a crecer de forma que se estabiliza al llegar a 100, siendo esta su población límite que admite. A medida que vayamos tomando pasos mas pequeños se reducirán los errores y conseguiremos una aproximación mejor.

Paso 1

Paso1.jpg

Paso 0.1

0,1.jpg

Paso 0.01

Paso0,01.jpg

2 Apartado 4 y 5

clear all
%DATOS DEL PROBLEMA
t0=0;tN=100;    %tiempos inicial y final
y0=120; y02=20;       %condición inicial
%El tamaño de paso lo haremos con h=1,0.1,0.01
h=0.1;                %Tamaño de paso
N=(tN-t0)/h;          %discretización
r=0.04;m1=30;m2=100;  %constantes de la ecuación
t=t0:h:tN;            %vector de tiempos
%Vector y su condición inicial en cada y0
he=zeros(1,N+1);he(1)=y0;  
he2=zeros(1,N+1);he2(1)=y02;
for i=1:N
    %Con y0=120
 K1=-r*he(i)*(1-he(i)/m1)*(1-he(i)/m2);
 K2=-r*(he(i)+K1*h)*(1-((he(i)+K1*h)/m1))*(1-((he(i)+K1*h)/m2));
 he(i+1)= he(i)+h/2*(K1+K2);     
    %Con y0=20
 Kh1=-r*he2(i)*(1-he2(i)/m1)*(1-he2(i)/m2);
 Kh2=-r*(he2(i)+Kh1*h)*(1-((he2(i)+Kh1*h)/m1))*(1-((he2(i)+Kh1*h)/m2));
 he2(i+1)= he2(i)+h/2*(Kh1+Kh2);
end
%dibujamos las graficas:
hold on
plot(t,he,'g','linewidth',2)
plot(t,he2,'b','linewidth',2)
legend('y0=120','y0=20','location','best')
hold off
xlabel('tiempo')
ylabel('población')


Apar2.jpg

Podemos observar como cuando la poblacion inicial es superior al limite sustentable ésta debera decrecer para sostenerse, mientras que cuando la poblacion inicial es menor de la poblacion minima para poder perpetuarse y desarrollarse esta decrecera.