Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grupo D
Presentado por:
Juan Carlos Anaya Bohórquez
Código 1903241
Álvaro Ortiz
Código 2142258
Presentado a:
Dr. Elder Jesús Villamizar Roa
Solución:
Con los datos anteriores y suponiendo t=0 en el año 1950 podemos plantear las
siguientes tres ecuaciones y con ellas generar un sistema lineal de 3x3 que nos
permita el cálculo de las constantes A, C, y k anteriormente definidas:
𝐴
112252 = (1)
1−𝐶
𝐴 𝐴 𝐴
229748 = 1−𝐶𝑒 −10𝑘 (2) 296657 = 1−𝐶𝑒 −20𝑘 (3) 352326 = 1−𝐶𝑒 −30𝑘 (4)
117496 −184405
−10𝑘
=
229748𝑒 − 112252 112252 − 296657𝑒 −20𝑘
Igualamos a cero y usando el algoritmo de la Secante, hallamos el valor de k
117496 184405
+ =0
229748𝑒 −10𝑘 − 112252 112252 − 296657𝑒 −20𝑘
Algoritmo de la Secante en Matlab
function Secante
clc; %Comando de MatLab para borrar la pantalla
clear %all
a=input('Digite la aproximacion inicial: ');
b=a+0.01; %Segunda aproximación
TOL=input('Tolerancia de error : ');
max_iter=input('Numero de iteracciones : ');
%Inicio el contador de itracciones
iter=0;
%Imprimo los titulos generarles
fprintf('METODO DE LA SECANTE...\nRESULTADOS\n');
%fprintf('Iter a Xr Error\n');
fprintf('Iter Xi-1 Xi-2 Xi f(Xi-1) f(Xi-2) f(Xi)
Error\n');
while 1 %Entro en un cliclo infinito
fa=funcion(a); %Evaluo la funcion en el valor de la cota inferior
fb=funcion(b); %Evaluo la funcion en el valor de la cota superior
%Calculo la aproximacion a la raiz basado en dos aproximaciones anteriores.
xr = a - fa*(b-a) / (fb - fa);
fxr=funcion(xr);
error = abs(b - xr); %Diferencia entre las dos ultimas aproximaciones
%Imprimo los resultados en pantalla
% fprintf('%4.0f,%12.6f,%12.6f,%12.6f\n',iter,a,xr,error);
fprintf('%4.0f,%10.6f,%10.6f,%10.6f,%10.6f,%10.6f,%10.6f,%10.2e\n',iter,a,b,xr,f
a,fb,fxr,error)
%Termino si la diferencia entre las dos iteracciones anteriores es menor que
el error aceptado (TOL)
if error <= TOL %Se hallo la aproximacion a la raiz y salgo del ciclo
fprintf('\nProceso concluido exitosamente con el nivel de error <=
%12.6e\n\n',TOL)
break;
end
if abs(fxr)<= TOL %Se hallo la aproximacion a la raiz y salgo del ciclo
fprintf('\nProceso concluido exitosamente con el nivel de error <=
%12.6e\n\n',TOL)
break;
end
if iter > max_iter %Verificar si no se exceden las iteracciones propuestas.
Salgo del ciclo infinito
fprintf('\nIteracciones excedidas... Revise sus datos...\n\n');
break;
end
iter = iter + 1; %Incremento el contador de iteracciones
%Tomo los valores para la la siguiente iteraccion
a = b;
b = xr;
end
fprintf('\nRaiz aproximada: %12.6f',xr);
fprintf(' Iteraciones: %5.0f\n',iter);
%Modelo gráfico
xinf=xr-1;
xsup=xr+1;
x=xinf:0.01:xsup;
f=funcion(x);
plot(x,x,x,f)
title ('Grafica de la función...');
%Fin del modelo gráfico
function y = funcion(x) %Aca defino la funcion a evaluar
y=(117496./((229748.*(exp(-10.*x)))-(112252)))+(184405./((112252)-
(296657.*(exp(-20.*x)))));
Resultado obtenido:
El límite anterior muestra lo que observamos en el gráfico de crecimiento logístico, se llega a una
constante. Para aplicar la solución P(t) necesitamos calcular a y er de la siguiente manera,
supongamos que P1, P2 y P3 conforman la población de un lugar en tiempos equidistantes
A=322449.26
C=-1.87
k=0.15349
Ahora utilizamos la ecuación:
322449.26
𝑃(𝑡) =
1 + 1.87𝑒 −0.15349𝑡
Para predecir la población en Bucaramanga en el año 2025 y 2050, suponiendo que
t=0 en 1950.
Para 2025:
322449.26
𝑃(75) = = 322443.2232
1 + 1.87𝑒 (−0.15349)(75)
𝑑𝑃 𝐴
= (−𝐶𝑘𝑒 −𝑘𝑡 )
𝑑𝑡 (1 − 𝐶𝑒 −𝑘𝑡 )2
𝑑𝑃 𝐴 −𝐶𝑘𝑒 −𝑘𝑡
=( )( )
𝑑𝑡 1 − 𝐶𝑒 −𝑘𝑡 1 − 𝐶𝑒 −𝑘𝑡
𝑑𝑃 −𝐶𝑘𝑒 −𝑘𝑡
= 𝑃(𝑡)( )
𝑑𝑡 1 − 𝐶𝑒 −𝑘𝑡
𝑬𝒄𝒖𝒂𝒄𝒊ó𝒏 𝒅𝒊𝒇𝒆𝒓𝒆𝒏𝒄𝒊𝒂𝒍
𝑑𝑃 𝐶𝑘𝑒 −𝑘𝑡
+ 𝑃(𝑡) =0
𝑑𝑡 1 − 𝐶𝑒 −𝑘𝑡
BIBLIOGRAFIA