Modelos de crecimiento de población
Supongamos que en una zona metropolitana, al cabo de un año, el 5% de la población que habita en la ciudad se traslada a la periferia y por el contrario, el 3% de los que viven en la perifieria se traslada a la ciduad. Si en el año 2015 la población de la ciduad es de 600.000 habitantes y la de la periferia es de 400.000, calcular la distribición de la población en 2016.
Matriz de migración
La matriz de migración (M) es la que nos permite calcular la distribución de pobalción en sucesivos periodos (en este caso años) a partir de un vector de estado en un determinado periodo. Se trata de una matriz de probabilidad (suma de sus columnas = 1).
En el ejemplo anterior la matriz de estado es:
M=[0.95 0.03;0.05 0.97]
0.9500 0.0300
0.0500 0.9700
Como se observa, la primera columna corresponde a la población de la ciudad y la segunda a la periferia.
Comprobamos que se trata de una matriz de probabilidad calculando la suma de sus columnas con el comando sum(M) de Matlab:
Vector de estado
El vector se estado nos inidca la situación (en este caso la distribución de población) en un periodo determinado. En nuestro ejemplo el vector de estado inicial en miles de habitantes para 2015 es:
Dicho vector columna nos indica la población en la ciudad y en la perfieria en miles de habitantes Cálculo de un nuevo estado
Para calcular la población en el siguiente periodo basta musltiplicar la matriz de migración por el vector de estado incial:
y obtenemos la distribución de población en el siguiente periodo (2016)
Ecuaciones lineales en diferencias (recurrencias)
Si los porcentajes de migración permanecen constantes, podremos calcular la distribución de poblaciñon en sucesivo periodos:
(1) a esta ecuación se le denomina como ecuación lineal en diferencias o relación de recurrencia
Para calcular las sucesivas distribuciones de población digamos desde 2015 a 2020 aplicaremos sucesivamente la ecuación (1).
En Matlab iremos "guardando" los resultados en una matriz (P) de la siguiente forma:
PI=array2table(P)
PI = 2×6 table
| P1 | P2 | P3 | P4 | P5 | P6 |
---|
1 | 600 | 582 | 565.4400 | 550.2048 | 536.1884 | 523.2933 |
---|
2 | 400 | 418 | 434.5600 | 449.7952 | 463.8116 | 476.7067 |
---|
Hemos convertido la matriz P donde hemos guardado los resultados de cada periodo por columnas, en una tabla para mostrar los resultados.
Creando una gráfica para mostrar los resultados
Ahora queremos mostrar los resultados en una gráfica. Para ello,primero creamos una variable para las abscisas (en este caso son los años)
Ahora empleamos la potencia de operaciones con matrices de Matlab ya que el comando plot interpreta las columnas de la matriz P como dos variables distintas, es decir, basta escribir:
axis( [2015 2020 300 700] )
En este caso hemos añadido el comando figure(1) porque más adelante iremos creando más gráficas y de ese modo, evitamos que unas sustiuyan a las precedentes. Asimismo, hemos restringido las abscisas al intervalo [2015 2020] y las ordenadas al intervalo [300 700].
Finalmente, damos formato al gráfico añadiendo un título, una leyenda y una etiqueta en el eje de ordenadas:
title('Evolución de la población entre 2015-2020')
ylabel('Población (miles de habitantes)')
legend('Ciudad','Periferia')