15. Funciones lineales

Una función lineal describe una relación de proporcionalidad directa. Su gráfico es una recta que pasa por el origen.

15.1 Introducción

Las funciones lineales son fundamentales porque representan relaciones donde una cantidad cambia de manera proporcional respecto de otra.

En este curso usaremos la convención habitual en muchos textos escolares: una función lineal tiene la forma f(x) = mx. Más adelante veremos funciones afines, que tienen la forma f(x) = mx + b.

15.2 Definición

Una función lineal se define como:

f(x) = mx

El número m es una constante que indica cuánto cambia la salida cuando cambia la entrada. También se lo relaciona con la pendiente de la recta.

15.3 Ejemplo básico

Si m = 2, la función queda:

f(x) = 2x
x f(x) = 2x
-2 -4
-1 -2
0 0
1 2
2 4

Cuando x se duplica, la salida también se duplica. Esa es una señal de proporcionalidad directa.

15.4 Función lineal en JavaScript

Una función lineal puede implementarse multiplicando la entrada por una constante.

function lineal(x) {
  return 2 * x;
}

console.log(lineal(-2));
console.log(lineal(0));
console.log(lineal(3));

15.5 Proporcionalidad directa

En una función lineal, la relación entre salida y entrada se mantiene constante cuando x no es cero.

f(x) / x = m

Para f(x) = 2x, el cociente f(x) / x vale 2 para cualquier x distinto de cero.

15.6 Gráfico de una función lineal

El gráfico de una función lineal es una recta que pasa por el origen. Esto ocurre porque f(0) = 0.

f(x) = 2x puntos: (-2, -4), (0, 0), (2, 4)

La inclinación de la recta depende del valor de m.

15.7 Gráfico de una función lineal en JavaScript

La siguiente aplicación dibuja los ejes y representa la función f(x) = 2x. El programa evalúa muchos valores de x y une los puntos para formar una recta.

const canvas = document.getElementById("grafico-lineal");
const ctx = canvas.getContext("2d");

function lineal(x) {
  return 2 * x;
}

function convertirX(x) {
  return canvas.width / 2 + x * 70;
}

function convertirY(y) {
  return canvas.height / 2 - y * 35;
}

ctx.clearRect(0, 0, canvas.width, canvas.height);

ctx.strokeStyle = "#d8e8f7";
ctx.lineWidth = 1;
for (let x = -4; x <= 4; x++) {
  ctx.beginPath();
  ctx.moveTo(convertirX(x), 20);
  ctx.lineTo(convertirX(x), canvas.height - 20);
  ctx.stroke();
}
for (let y = -4; y <= 4; y++) {
  ctx.beginPath();
  ctx.moveTo(30, convertirY(y));
  ctx.lineTo(canvas.width - 30, convertirY(y));
  ctx.stroke();
}

ctx.strokeStyle = "#0b4f8a";
ctx.lineWidth = 2;
ctx.beginPath();
ctx.moveTo(30, convertirY(0));
ctx.lineTo(canvas.width - 30, convertirY(0));
ctx.moveTo(convertirX(0), 20);
ctx.lineTo(convertirX(0), canvas.height - 20);
ctx.stroke();

ctx.strokeStyle = "#d63384";
ctx.lineWidth = 3;
ctx.beginPath();

let primerPunto = true;
for (let x = -3; x <= 3; x += 0.1) {
  const pantallaX = convertirX(x);
  const pantallaY = convertirY(lineal(x));

  if (primerPunto) {
    ctx.moveTo(pantallaX, pantallaY);
    primerPunto = false;
  } else {
    ctx.lineTo(pantallaX, pantallaY);
  }
}

ctx.stroke();

Para experimentar, cambia el código de la función lineal. Por ejemplo, reemplaza return 2 * x; por return -1 * x; y vuelve a ejecutar la aplicación para observar cómo cambia la inclinación de la recta.

15.8 El papel de m

El valor de m controla la inclinación de la recta y el sentido del cambio.

Valor de m Función Comportamiento
m > 0 f(x) = 2x La función crece
m < 0 f(x) = -2x La función decrece
m = 0 f(x) = 0 La función queda constante en cero

15.9 Dominio e imagen

Si una función lineal f(x) = mx se define sobre los números reales y m es distinto de cero, su dominio e imagen son todos los números reales.

Concepto Para f(x) = 2x
Dominio Todos los números reales
Imagen Todos los números reales

15.10 Aplicaciones en programación

Las funciones lineales aparecen cada vez que necesitamos escalar un valor de forma proporcional.

Situación Función lineal Uso
Convertir metros a centímetros f(x) = 100x Conversión de unidades
Escalar una imagen f(x) = 2x Duplicar tamaños
Calcular distancia d(t) = vt Movimiento con velocidad constante
Transformar intensidad f(x) = 0.5x Reducir brillo, volumen o velocidad

15.11 Errores comunes

  • Confundir función lineal con función afín.
  • Olvidar que, con esta convención, una función lineal pasa por el origen.
  • Omitir el operador de multiplicación al pasar la fórmula a JavaScript.
  • Creer que toda recta representa una función lineal.
  • No distinguir entre el valor de m y el valor de entrada x.

15.12 Qué debes recordar de este tema

  • Una función lineal tiene la forma f(x) = mx.
  • Representa una relación de proporcionalidad directa.
  • Su gráfico es una recta que pasa por el origen.
  • El valor de m controla la inclinación y el sentido de cambio.
  • En JavaScript puede implementarse con una multiplicación.
  • Es útil para escalar valores, convertir unidades y modelar cambios proporcionales.

15.13 Conclusión

Las funciones lineales permiten representar cambios proporcionales de forma simple. Son una base importante para entender pendientes, rectas, escalados y modelos de crecimiento constante.

En el próximo tema veremos pendiente e interpretación geométrica, para comprender con más detalle qué indica la inclinación de una recta.