Una función es continua cuando no presenta saltos, huecos ni cortes en el punto o intervalo que se analiza.
La continuidad describe funciones que se comportan sin interrupciones. De forma intuitiva, una función continua puede dibujarse sin levantar el lápiz dentro del intervalo considerado.
En programación, la continuidad ayuda a crear animaciones suaves, simulaciones estables, interpolaciones, curvas de movimiento y modelos sin saltos inesperados.
Una función continua no tiene huecos, saltos ni valores infinitos en el punto analizado.
Pequeños cambios en la entrada producen pequeños cambios en la salida.
Una función es continua en un punto a si se cumplen tres condiciones.
Las funciones polinómicas son continuas en todos los reales.
function f(x) {
return x * x + 2 * x + 1;
}
console.log(f(1.9));
console.log(f(2));
console.log(f(2.1));
Los valores cercanos a x = 2 producen salidas cercanas entre sí.
Podemos aproximarnos al punto desde ambos lados y comparar con el valor exacto de la función.
function f(x) {
return x * x;
}
function analizarCerca(funcion, punto, distancia) {
return {
izquierda: funcion(punto - distancia),
punto: funcion(punto),
derecha: funcion(punto + distancia)
};
}
console.log(analizarCerca(f, 2, 0.1));
console.log(analizarCerca(f, 2, 0.01));
Una función es continua en un intervalo si es continua en todos los puntos de ese intervalo.
En gráficos y animaciones, esto se interpreta como una curva sin interrupciones dentro del rango mostrado.
Una función por tramos puede tener un salto si los valores laterales no coinciden.
function f(x) {
if (x < 0) {
return -1;
}
return 1;
}
console.log(f(-0.1));
console.log(f(-0.001));
console.log(f(0));
console.log(f(0.001));
En x = 0 hay un salto: por izquierda se acerca a -1 y por derecha a 1.
Una función puede tener límite en un punto, pero no estar definida allí. En ese caso no es continua en ese punto.
function f(x) {
if (x === 1) {
return undefined;
}
return (x * x - 1) / (x - 1);
}
console.log(f(0.999));
console.log(f(1));
console.log(f(1.001));
También puede ocurrir que el límite exista, pero el valor de la función en el punto sea diferente.
function f(x) {
if (x === 1) {
return 10;
}
return x + 1;
}
console.log(f(0.999));
console.log(f(1));
console.log(f(1.001));
Cerca de 1, la función se acerca a 2, pero en x = 1 vale 10. Por eso no es continua en ese punto.
| Caso | Qué ocurre | ¿Es continua? |
|---|---|---|
| Polinómica | No tiene saltos ni huecos | Sí |
| Hueco | El límite existe, pero falta el valor | No |
| Salto | Los límites laterales son distintos | No |
| Valor incorrecto | El límite existe, pero no coincide con f(a) | No |
Con datos discretos, se puede detectar un posible salto comparando diferencias grandes entre puntos consecutivos.
function detectarSaltos(puntos, umbral) {
const saltos = [];
for (let i = 1; i < puntos.length; i++) {
const diferencia = Math.abs(puntos[i].y - puntos[i - 1].y);
if (diferencia > umbral) {
saltos.push({ desde: puntos[i - 1].x, hasta: puntos[i].x, diferencia });
}
}
return saltos;
}
const puntos = [
{ x: -1, y: -1 },
{ x: -0.5, y: -1 },
{ x: 0, y: 1 },
{ x: 0.5, y: 1 }
];
console.log(detectarSaltos(puntos, 1));
En programación rara vez conviene comparar decimales con igualdad exacta. Para análisis numérico se usa una tolerancia.
function casiIguales(a, b, tolerancia) {
return Math.abs(a - b) < tolerancia;
}
console.log(casiIguales(2.000001, 2, 0.00001));
console.log(casiIguales(2.1, 2, 0.00001));
Este ejemplo compara el valor por izquierda, el valor por derecha y el valor en el punto.
function esContinuaAproximada(funcion, punto, distancia, tolerancia) {
const izquierda = funcion(punto - distancia);
const centro = funcion(punto);
const derecha = funcion(punto + distancia);
return Math.abs(izquierda - centro) < tolerancia &&
Math.abs(derecha - centro) < tolerancia;
}
function f(x) {
return x * x;
}
console.log(esContinuaAproximada(f, 2, 0.001, 0.01));
Una animación se percibe continua cuando los cambios entre cuadros son pequeños y coherentes.
function posicion(tiempo) {
return tiempo * 50;
}
console.log(posicion(0));
console.log(posicion(0.016));
console.log(posicion(0.032));
La posición cambia de forma regular con el tiempo, sin saltos grandes.
Un cambio brusco puede producir una discontinuidad visual.
function posicion(tiempo) {
if (tiempo < 1) {
return tiempo * 50;
}
return 500;
}
console.log(posicion(0.99));
console.log(posicion(1));
console.log(posicion(1.01));
Interpolar entre dos valores de forma gradual ayuda a evitar saltos.
function interpolar(inicio, fin, t) {
return inicio + (fin - inicio) * t;
}
console.log(interpolar(0, 100, 0));
console.log(interpolar(0, 100, 0.25));
console.log(interpolar(0, 100, 0.5));
console.log(interpolar(0, 100, 1));
Una función solo puede ser continua en puntos donde esté definida. Si hay valores fuera del dominio, allí no se puede hablar de continuidad de la función real.
function raiz(x) {
if (x < 0) {
return "Fuera del dominio";
}
return Math.sqrt(x);
}
console.log(raiz(4));
console.log(raiz(0));
console.log(raiz(-1));
La continuidad conecta el concepto de límite con el valor real de una función en un punto. Comprenderla permite detectar interrupciones, construir movimientos suaves y trabajar con modelos matemáticos más estables en programas.