La representación gráfica traduce la estructura lógica de una función en un modelo visual. A través de diagramas de flechas o gráficos de puntos aislados en el plano, podemos capturar e interpretar su comportamiento de un solo vistazo.
Una función discreta relaciona elementos de conjuntos separados y aislados. Al igual que ocurre con las fórmulas algebraicas o las tablas de valores, los gráficos nos ayudan a entender y analizar el comportamiento de una función. Sin embargo, el carácter "discreto" del dominio impone reglas estrictas y únicas sobre cómo deben dibujarse estas gráficas.
Mientras que una función continua (como la temperatura a lo largo del día) se dibuja mediante una línea curva continua sin interrupciones, una función discreta se representa de dos maneras principales: mediante diagramas de flechas o mediante puntos aislados en un plano cartesiano.
Los diagramas de flechas son la representación más natural para conjuntos finitos pequeños. Se dibujan dos ovalos (que representan los conjuntos del dominio y del codominio) y se trazan flechas orientadas desde cada elemento del dominio hacia su imagen correspondiente en el codominio.
Esta visualización permite comprobar de manera inmediata si la relación cumple con la definición de función:
En definitiva: **de cada elemento del dominio debe salir exactamente una y solo una flecha**.
Para dominios numéricos (como subconjuntos de los enteros $\mathbb{Z}$), la representación en el plano cartesiano es la más común. En ella, cada par ordenado $(x, f(x))$ de la función se representa como un punto en las coordenadas del plano.
La regla de oro de la representación gráfica discreta es: NUNCA se deben unir los puntos con líneas o curvas continuas.
Unir los puntos sugeriría que la función está definida para valores intermedios (por ejemplo, que existe un valor para $f(1.5)$ cuando el dominio son los enteros), lo cual es falso y altera la naturaleza discreta de la función.
En programación, para representar gráficamente una función en interfaces de usuario, primero calculamos los pares ordenados y luego los enviamos a un motor gráfico o los imprimimos. El siguiente ejemplo en JavaScript calcula los puntos de una función discreta sobre un dominio y los lista para su graficación.
const dominio = [-3, -2, -1, 0, 1, 2, 3];
function f(x) {
return x * x - 2;
}
// Generar coordenadas (x, y) de la función discreta
const puntos = dominio.map(x => ({ x: x, y: f(x) }));
// Mostrar coordenadas listas para graficar
puntos.forEach(p => console.log(`Punto: (${p.x}, ${p.y})`));
// {"x":-3,"y":7}
// {"x":-2,"y":2}
// {"x":-1,"y":-1}
// {"x":0,"y":-2}
// {"x":1,"y":-1}
// {"x":2,"y":2}
// {"x":3,"y":7}
La gráfica de una función nos da información inmediata sobre sus propiedades algebraicas de manera visual:
| Propiedad | Prueba Visual en el Plano Cartesiano | Prueba Visual en el Diagrama de Flechas |
|---|---|---|
| Es función | Prueba de la recta vertical: Cualquier línea vertical toca a lo sumo un punto. | De cada elemento del dominio sale exactamente una flecha. |
| Inyectiva | Prueba de la recta horizontal: Cualquier línea horizontal toca a lo sumo un punto del gráfico. | Ningún elemento del codominio recibe más de una flecha. |
| Sobreyectiva | Cada valor del codominio (eje Y) tiene al menos un punto del gráfico alineado horizontalmente. | Todos los elementos del codominio reciben al menos una flecha. |
| Biyectiva | Se cumplen simultáneamente las pruebas de inyectividad y sobreyectividad. | Cada elemento del codominio recibe exactamente una flecha. |
La representación gráfica es un puente entre las matemáticas abstractas y la intuición visual. Nos permite inspeccionar con rapidez si una función es inyectiva, sobreyectiva, constante o si directamente no califica como función. En el ámbito del software, dominar la generación y las restricciones de estos gráficos es clave para construir paneles de control, reportes estadísticos y simuladores.
En el próximo tema estudiaremos las funciones inyectivas, analizando qué significa formalmente que distintos elementos del dominio tengan imágenes distintas, y cómo verificar esta propiedad tanto analíticamente como mediante código JavaScript.