Documentos de Académico
Documentos de Profesional
Documentos de Cultura
89
Fernández F. , Andrada J.
1. Introducción
Cada día suena el despertador y nos levantamos, realizamos aún soñolientos las
tareas cotidianas propias -nos aseamos, tomamos decisiones sobre el vestir, sobre qué
desayunar, salimos de casa, llegamos a la facultad, etc.- preguntándonos en ocasiones
¿dónde estamos? cuando nuestros alumnos extrañados nos observan. Cada una de estas
acciones conlleva la repetición de ciertas pautas de conducta generales asumidas,
transformando así el desorden del despertar en una secuencia de procedimientos que
podríamos clasificar como programados. Estos pequeños actos se convierten en un
programa matutino diseñado que nos permite reaccionar ante la información procedente
de nuestro entorno, la cual organizamos de forma lógica y, supuestamente, eficiente.
Cualquier problema diario, planteado en distintos contextos que traducen necesidades
del mundo real, sea sencillo o no, tiende a ser programado después de haber abstraído lo
relevante de la información y haber creado un procedimiento que podríamos incluso
llamar algoritmo.
En nuestra vida, y en general en las ciencias matemáticas, tratamos de encontrar y
enseñar algoritmos que nos hagan la vida más sencilla, y a nuestros alumnos, futuros
diplomados y licenciados, los créditos más asequibles. Hablar sobre los algoritmos que
facilitan nuestras vidas requeriría más de 11 páginas para cada uno de nosotros, pero
hablar de algoritmos matemáticos puede no sobrepasar este trabajo.
90
Docencia de Matemáticas en la Economía y la Empresa
91
Fernández F. , Andrada J.
92
Docencia de Matemáticas en la Economía y la Empresa
2. Algoritmos matemáticos
Un modelo matemático es la expresión, en términos matemáticos, de un problema
definido que establece relaciones entre las variables consideradas relevantes.
Los algoritmos matemáticos en los que nos centraremos constituyen en sí mismos,
una secuencia finita de operaciones lógicas y aritméticas realizadas paso a paso en un
determinado orden, que permite hallar la solución numérica de un problema modelizado
matemáticamente. Esta secuencia de instrucciones puede ser ejecutada en una sola
dirección o no, por lo que hablaremos ejecución lineal o no.
En cada uno de los pasos de la secuencia de operaciones, puede alterarse el valor de
alguna determinada variable empleando, para ello, el valor de dicha variable obtenido
en la etapa anterior. El proceso algorítmico, iterativo, continúa hasta que se verifiquen
determinadas condiciones respecto a las variables involucradas, aunque en ciertos casos
no es posible saber de antemano el número de veces que se ha de repetir el algoritmo.
Los ordenadores, no deciden, sólo son capaces de llevar a cabo, de forma primaria,
las reglas elementales de la aritmética o la lógica. Cualquier otro tipo de operación
matemática o lógica más compleja ha de reducirse a las reglas elementales mediante el
uso de los algoritmos.
Los algoritmos constituyen así, el primer paso hacia la programación de un
problema, en nuestro caso, el primer paso específico en la construcción de programas en
archivos .m, en MATLAB, mediante un editor de textos.
Un programa requiere el diseño del algoritmo matemático que subyace en la
resolución de un problema, de estructuras de programación, y de tipos de datos. Un
programa consiste en escribir la secuencia de instrucciones, expresada en un lenguaje
formal y conciso, que se ha de ejecutar cuando se realice su llamada en la ventana de
instrucciones propia del entorno elegido. En conjunto, un programa representa la
descripción detallada de la secuencia de instrucciones que debería seguir un ordenador
para solventar la tarea encomendada, de forma que con la información esencial y una
vez implementado pueda ser resuelta.
93
Fernández F. , Andrada J.
camino correcto para su resolución. Este camino, que deberá recorrer el ordenador, se
denomina flujo de ejecución de instrucciones y nosotros deberemos establecer
previamente el control de dicho flujo. En ocasiones, hemos de controlar el flujo de
ejecución en función de los datos que se estén procesando o de los resultados que
genere.
Las tres estructuras fundamentales que permitirán el control del flujo de un
programa son: estructuras lineales, cuya organización secuencial consta de una única
dirección, sin necesidad de establecer su control; estructuras de decisión, que permiten
representar planteamientos lógicos ante cierta proposición con la consecuente ejecución
de bloques de instrucciones alternativos, y estructuras de repetición que permiten
ejecutar bloques de instrucciones reiteradamente.
Los tres tipos de instrucciones en MATLAB con los que estableceremos el control
del flujo no lineal son: la bifurcación condicional if/else/end que nos permitirá ejecutar
un bloque de instrucciones u otro alternativo, en función de si una determinada
condición se verifica o no; y los bucles for/end, while/end que permiten repetir un
bloque de instrucciones sucesivas un número finito o infinito de veces, respectivamente.
94
Docencia de Matemáticas en la Economía y la Empresa
f (x n )
x n +1 = x n − , f ′( x n ) ≠ 0
f ′( x n )
En esta situación, o bien la sucesión de aproximaciones converge hacia un límite
que es una raíz de la ecuación, o bien no tiene límite.
function y=fun(x)
y=exp(x)+x+1;
function y=newton_raphson(fun,x0)
clc
%Método de Newton-Raphson: newton_raphson.m
%Requiere que fun sea una función de archivo.m, cuyos argumentos sean:
% fun= función mediante variable string, x0= valor inicial
disp('Método de Newton-Raphson')
iteraciones=[];
x(1)=x0;nmax_iter=100;tol=1e-15;h=1e-3;
for i=1:nmax_iter
funcion_x=feval('fun',x(i));
derivada_x=(feval('fun',x(i)+h)-feval('fun',x(i)))/h;
x(i+1)=x(i)-(funcion_x/derivada_x);
iteraciones=[iteraciones; i x(i) x(i+1) abs(x(i+1)-x(i))];
if abs(x(i+1)-x(i))<tol
sprintf('Satisfecha la tolerancia en %g iteraciones',i)
break;
end
end
if i>=nmax_iter
sprintf('Hemos alcanzado el número de iteraciones %g', nmax_iter)
end
iteraciones
sprintf('La raíz es %g', x(i+1))
y=x(i+1);
95
Fernández F. , Andrada J.
R = ∑ ri = ∑ ( y i − (α 1 + α 2 ⋅ x i ))
2
i =1 i =1
sea mínima.
96
Docencia de Matemáticas en la Economía y la Empresa
4. Conclusiones
Hoy día está ampliamente aceptado que el manejo de un ordenador y diversos
programas como el DERIVE, el SPSS o el STATGRAPHIC debe entrar en el acervo de
conocimientos básicos de un licenciado en Economía. En este trabajo pretendemos dar
un paso más, defendiendo que la enseñanza de los algoritmos también puede jugar un
importante papel dentro del bagaje de conocimientos matemáticos e informáticos
básicos que deben enseñarse en nuestras facultades.
El argumento para defender la enseñanza de los algoritmos tiene una raíces
profundamente didácticas. En la actualidad existe un amplio consenso entre las escuelas
de didáctica de las matemáticas de que el objetivo prioritario del proceso enseñanza-
97
Fernández F. , Andrada J.
98
Docencia de Matemáticas en la Economía y la Empresa
5. Bibliografía
Borrell Fontelles, J. (1987): Métodos matemáticos para la economía. Ed. Pirámide.
Madrid.
Carajaville, J.A. (1989): Ordenador y Educación Matemática. Algunas modalidades de
uso. Ed. Síntesis S.A.Madrid.
DeGroot, M. H. (1998): Probabilidad y estadística. Ed. Addison-Wesley
Iberoamericana. México.
Etter, D.M. (1997): Solución de Problemas en Ingeniería con MATLAB. Ed. Prentice
Hall. México
Fernández, F. y Andrada, J. (2000): "Una introducción al MATLAB en Economía y
Finanzas". Guía de Prácticas. Departamento de Métodos Cuantitativos en
Economía y Gestión. Facultad de Ciencias Económicas y Empresariales.
Universidad de Las Palmas de Gran Canaria.
Greene, W. H. (1998): Análisis Econométrico. 3ª edición. Ed. Prentice Hall. México.
Hanselman, D. y Littlefield, B (1998): MATLAB, edición estudiante. Guía del usuario.
Versión 4. Ed. Prentice Hall. España.
Lindfield, G. y Penny, J. (1995): Numerical Methods Using MATLAB. Ed. Ellis
Hordwood. London.
Nakamura, S (1997): Análisis Numérico y Visualización gráfica con MATLAB. Ed.
Prentice Hall. México.
Suárez, A. S. (1996): Decisiones Ótimas de Inversión y Financiación en la Empresa. Ed.
Pirámide. Madrid.
99