Las funciones lineales permiten modelar cambios proporcionales. Son útiles para convertir unidades, escalar valores, calcular movimientos y transformar datos en programas.
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.
Una conversión de unidades muchas veces consiste en multiplicar por un factor constante.
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.
Escalar un valor significa multiplicarlo por un factor. Esto es común en gráficos, interfaces y procesamiento de datos.
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.
Si un objeto se mueve con velocidad constante y parte desde el origen, la distancia recorrida es proporcional al tiempo.
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.
Muchas configuraciones de software trabajan con porcentajes o intensidades. Reducir o aumentar una intensidad puede modelarse con una función lineal.
function ajustarIntensidad(intensidad, factor) {
return intensidad * factor;
}
console.log(ajustarIntensidad(200, 0.75));
console.log(ajustarIntensidad(120, 1.25));
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.
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.
| 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 |
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.
En videojuegos, una función lineal puede representar desplazamientos simples, velocidad constante o escalados de dificultad.
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.
Las funciones lineales son simples y útiles, pero no todos los fenómenos se comportan de manera proporcional.
Por eso es importante elegir el tipo de función según el problema.
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 |
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.