Anda di halaman 1dari 6

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

CLCULO DE LA
EVOLUCIN DE
POBLACIN

Victoria Surez Mascareo


Programacin Cientfica Curso 2012/2013

Profesores: Mercedes Marn Beltrn


Sebastin Ventura Soto

1
VICTORIA SUREZ MASCAREO

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

PROBLEMA A ESTUDIAR:
El crecimiento de poblaciones grandes puede modelarse en periodos cortos suponiendo que el
crecimiento de la poblacin es una funcin continua en t mediante una ecuacin diferencial
cuya solucin es:
+

Donde N(t) es el nmero de individuos en el tiempo t (medido en aos), es la razn de


natalidad, N0 es la poblacin inicial y v es un razn constante de inmigracin, que se mide en
nmero de inmigrantes al ao. Supngase que una poblacin dada tiene un milln de
individuos inicialmente y una inmigracin de 400,000 individuos al ao. Se observa que al final
del primer ao la poblacin es de 1,506,000 individuos. Se pide:

Determinar la tasa de natalidad.


Hacer una previsin de la poblacin al cabo de tres aos.

PRIMERA PARTE
Tenemos una ecuacin que muestra la evolucin de la poblacin a lo largo del tiempo (aos) .
Vamos a buscar la incgnita
que representa la tasa de natalidad para poder expresar
grficamente la funcin y estudiar la previsin al cabo de varios aos.
Para buscar nos ofrecen unos datos para poder reescribir la ecuacin
= 1.506.000 =
400.000
= 1. Con ello reescribiremos la ecuacin para poder aplicar la frmula de Newton
para buscar races
= 1000

400

1 1506 = 0

Primero haremos un estudio grfico con la funcin


% ********** tasanatalidad.m **************
% Funcion de la tasa de natalidad
function f=tasadenatalidad(l)
f=(1000.*exp(l))+(400./l).*((exp(l))-1)-(1506);

2
VICTORIA SUREZ MASCAREO

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

Luego mostramos grficamente la funcin

para ver aproximadamente donde est la raz.

%*******grfica_tasanatilidad.m****
% Representacion grafica de f(l)=1000*exp(x)+(400/x)*((exp(x))-1)-1506
l=linspace(0.01,0.1,6);
f=tasanatalidad(l);
plot(l,f);
grid on;
title('Representacion grafica de f(l)=1000*exp(x)+(400/x)*((exp(x))1)-1506')
xlabel l
ylabel f(l)
%--------------------------------------------------------------

Ahora calculamos usando el mtodo de Newton-Rhapson usando la funcin newtonmio. Para


ello primero calculamos la derivada de
.
= 1000

400

1 +

400

Y escogemos los parmetros de clculo.


= 1 ya que es el primer ao, ponemos un mximo
de iteraciones maxiter =10 y una tolerancia=10 .

3
VICTORIA SUREZ MASCAREO

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

function [x,xvect,nit]=newtonmio(f,fprima,x0,maxiter,tolerancia)
% Aproxima la raiz de una funcion f (f(x)=0)
% usando el metodo de Newton-Raphson
%-------------------------------------------------------------% Argumentos de entrada
%-------------------------------------------------------------% f
= expresion de la funcion cuya raiz se busca
% fprima
= expresion de la derivada de la funcion cuya raiz se
busca
% x0
= valor inicial
% maxiter
= numero maximo de iteraciones admitidas
% tolerancia
= criterio de parada, diferencia entre iteraciones
%-------------------------------------------------------------% Argumentos de salida:
%-------------------------------------------------------------% x= resultado de la ultima iteracion (raiz aproximada)
% xvect = vector con todas las iteraciones realizadas
% nit
= iteraciones realizadas hasta alcanzar la tolerancia
%-------------------------------------------------------------% Inicializando
xvect=x0;
%
for nit=1:maxiter
x=x0-f(x0)/fprima(x0);
xvect=[xvect x];
if(abs(x-x0)<tolerancia)
return
else
x0=x;
end
end
%--------------------------------------------------------------

Como

resultado
tenemos
que
= [1.000, 0.3908 0.1258 0.0856 0.0848 0.0848 0.0848]

= 0.0848
'( = 6

4
VICTORIA SUREZ MASCAREO

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

SEGUNDA PARTE
Ahora calcularemos la previsin de poblacin a tres aos ya que conocemos de modo que
podemos usar la funcin mostrada al inicio del problema:
=

400

% ********** evolpoblacion.m **************


% Funcion de evolucin de poblacin
function p=evolpoblacion(t)
p=(1000*exp(0.0848*t))+(400/0.0848)*(exp(0.0848*t)-1);

3 = 2.656 10)

Y ahora representamos grficamente la funcin de la evolucin de poblacin para compara


grficamente los datos.
%*******grfica_evolpoblacin.m****
% Representacion grafica de
p(t)=1000*exp(0.0848*t)+(400/0.0848)*(exp(0.0848*t)-1)
l=linspace(0,5,10);
p=tasanatalidad(l);
plot(l,p);
grid on;
title('Representacion grafica de
p(t)=1000*exp(0.0848*t)+(400/0.0848)*(exp(0.0848*t)-1)')
xlabel t
ylabel Poblacion

5
VICTORIA SUREZ MASCAREO

CLCULO EVOLUCIN DE POBLACIN

PROGRAMACIN CIENTFICA CURSO 2012/2013

6
VICTORIA SUREZ MASCAREO

Anda mungkin juga menyukai