19. Aplicaciones de las funciones lineales

Las funciones lineales permiten modelar cambios proporcionales. Son útiles para convertir unidades, escalar valores, calcular movimientos y transformar datos en programas.

19.1 Introducción

Una función lineal tiene la forma f(x) = mx. Esta estructura aparece cuando una salida es proporcional a una entrada.

En programación, esta idea es muy frecuente: convertir unidades, escalar imágenes, calcular distancias, ajustar intensidades y transformar datos son tareas que suelen usar funciones lineales.

19.2 Conversión de unidades

Una conversión de unidades muchas veces consiste en multiplicar por un factor constante.

centímetros(metros) = 100 × metros
function metrosACentimetros(metros) {
  return 100 * metros;
}

console.log(metrosACentimetros(1.5));
console.log(metrosACentimetros(3));

El factor 100 indica que cada metro equivale a cien centímetros.

19.3 Escalado de valores

Escalar un valor significa multiplicarlo por un factor. Esto es común en gráficos, interfaces y procesamiento de datos.

tamañoEscalado = factor × tamañoOriginal
function escalar(valor, factor) {
  return factor * valor;
}

console.log(escalar(80, 2));
console.log(escalar(80, 0.5));

Un factor mayor que 1 aumenta el valor. Un factor entre 0 y 1 lo reduce.

19.4 Movimiento con velocidad constante

Si un objeto se mueve con velocidad constante y parte desde el origen, la distancia recorrida es proporcional al tiempo.

distancia(t) = velocidad × t
function distancia(tiempo) {
  const velocidad = 12;
  return velocidad * tiempo;
}

for (let tiempo = 0; tiempo <= 5; tiempo++) {
  console.log(tiempo, distancia(tiempo));
}

La pendiente de la función representa la velocidad.

19.5 Brillo, volumen e intensidad

Muchas configuraciones de software trabajan con porcentajes o intensidades. Reducir o aumentar una intensidad puede modelarse con una función lineal.

intensidadNueva = factor × intensidadOriginal
function ajustarIntensidad(intensidad, factor) {
  return intensidad * factor;
}

console.log(ajustarIntensidad(200, 0.75));
console.log(ajustarIntensidad(120, 1.25));

19.6 Transformar rangos desde cero

Cuando un valor parte desde cero, transformar un rango puede ser una operación lineal simple. Por ejemplo, convertir un progreso entre 0 y 1 a un ancho en píxeles.

ancho(progreso) = anchoMáximo × progreso
function anchoBarra(progreso) {
  const anchoMaximo = 300;
  return anchoMaximo * progreso;
}

console.log(anchoBarra(0));
console.log(anchoBarra(0.5));
console.log(anchoBarra(1));

Si el progreso es 0.5, el ancho resulta la mitad del máximo.

19.7 Tabla de aplicaciones

Aplicación Función lineal Interpretación de m
Metros a centímetros f(x) = 100x 100 centímetros por metro
Duplicar tamaño f(x) = 2x Factor de escala 2
Mitad de intensidad f(x) = 0.5x Reducción al 50%
Movimiento constante d(t) = 12t Velocidad de 12 unidades por tiempo

19.8 Funciones lineales en gráficos 2D

En gráficos 2D, las funciones lineales se usan para escalar coordenadas o dimensiones.

function convertirUnidadAGrafico(valor) {
  const pixelesPorUnidad = 40;
  return pixelesPorUnidad * valor;
}

console.log(convertirUnidadAGrafico(1));
console.log(convertirUnidadAGrafico(5));

Esta función transforma unidades matemáticas en píxeles usando un factor constante.

19.9 Funciones lineales en videojuegos

En videojuegos, una función lineal puede representar desplazamientos simples, velocidad constante o escalados de dificultad.

experienciaNecesaria(nivel) = 100 × nivel
function experienciaNecesaria(nivel) {
  return 100 * nivel;
}

for (let nivel = 1; nivel <= 5; nivel++) {
  console.log(nivel, experienciaNecesaria(nivel));
}

Cada nuevo nivel aumenta la experiencia requerida en una cantidad constante.

19.10 Limitaciones de los modelos lineales

Las funciones lineales son simples y útiles, pero no todos los fenómenos se comportan de manera proporcional.

  • Un crecimiento de población puede ser exponencial, no lineal.
  • Un salto en un videojuego suele tener comportamiento cuadrático.
  • El aprendizaje de un usuario puede no aumentar a ritmo constante.
  • Un costo puede tener descuentos, impuestos o límites que rompen la proporcionalidad.

Por eso es importante elegir el tipo de función según el problema.

19.11 Elegir una función lineal

Una función lineal es adecuada cuando el cambio es proporcional y pasa por el origen: si la entrada es cero, la salida también es cero.

Pregunta Si la respuesta es sí
¿La salida crece siempre al mismo ritmo? Puede ser lineal
¿Si la entrada vale cero, la salida también vale cero? Puede tener forma f(x) = mx
¿Hay un costo fijo o valor inicial distinto de cero? Conviene usar una función afín

19.12 Errores comunes

  • Usar una función lineal cuando existe un valor inicial distinto de cero.
  • Confundir una relación proporcional con una relación simplemente creciente.
  • No interpretar el significado del factor m.
  • Aplicar modelos lineales a fenómenos que cambian de ritmo.
  • No validar que las entradas pertenezcan al contexto del problema.

19.13 Qué debes recordar de este tema

  • Las funciones lineales modelan relaciones proporcionales.
  • Su forma es f(x) = mx.
  • El valor m representa un factor de escala o razón de cambio.
  • Son útiles para conversiones, escalados, movimiento simple y transformaciones de datos.
  • Si hay un valor inicial distinto de cero, suele corresponder una función afín.
  • No todos los fenómenos pueden modelarse correctamente con funciones lineales.

19.14 Conclusión

Las funciones lineales son prácticas porque describen relaciones de proporcionalidad directa con una fórmula simple. En programación, permiten convertir, escalar y transformar valores de manera clara.

En el próximo tema veremos funciones afines, que agregan un valor inicial o desplazamiento a la relación lineal.