Las funciones irracionales contienen la variable dentro de una raíz. Su dominio depende de que el radicando tenga valores permitidos.
Una función irracional es una función donde la variable aparece dentro de una raíz. El caso más común en programación es la raíz cuadrada.
Estas funciones aparecen al calcular distancias, magnitudes, velocidades, escalas y relaciones geométricas. Su principal cuidado es el dominio: no siempre podemos evaluar la raíz para cualquier valor real.
Una función irracional contiene una expresión con raíz donde aparece la variable.
La expresión que está dentro de la raíz se llama radicando.
El radicando es la expresión ubicada dentro del símbolo de raíz.
| Función | Radicando | Condición para raíz cuadrada |
|---|---|---|
| f(x) = √x | x | x ≥ 0 |
| f(x) = √(x - 4) | x - 4 | x - 4 ≥ 0 |
| f(x) = √(2x + 6) | 2x + 6 | 2x + 6 ≥ 0 |
En los números reales, una raíz cuadrada solo está definida cuando el radicando es mayor o igual que cero.
El dominio de esta función es x ≥ 2.
JavaScript calcula raíces cuadradas con Math.sqrt. Si intentamos calcular la raíz cuadrada de un número negativo, el resultado es NaN.
console.log(Math.sqrt(25));
console.log(Math.sqrt(0));
console.log(Math.sqrt(-4));
NaN significa que el resultado no es un número válido en el sistema numérico usado por JavaScript.
Para implementar una función irracional, conviene validar el radicando antes de llamar a Math.sqrt.
function raizDesplazada(x) {
const radicando = x - 2;
if (radicando < 0) {
return null;
}
return Math.sqrt(radicando);
}
console.log(raizDesplazada(1));
console.log(raizDesplazada(2));
console.log(raizDesplazada(11));
Si el radicando es lineal, podemos resolver una desigualdad simple.
Solo podemos evaluar la función para valores de x mayores o iguales que 2.
Para una raíz cuadrada de la forma √(ax + b), el límite del dominio se obtiene resolviendo ax + b = 0.
function limiteDominioRaizLineal(a, b) {
if (a === 0) {
return null;
}
return -b / a;
}
console.log(limiteDominioRaizLineal(3, -6));
console.log(limiteDominioRaizLineal(2, 8));
Si a es positivo, el dominio queda hacia la derecha del límite. Si a es negativo, queda hacia la izquierda.
Las raíces pares y las raíces impares tienen restricciones distintas en los números reales.
| Tipo de raíz | Ejemplo | Restricción real |
|---|---|---|
| Par | √x, ⁴√x | El radicando debe ser ≥ 0 |
| Impar | ³√x, ⁵√x | Puede aceptar radicandos negativos |
JavaScript incluye Math.cbrt para calcular raíces cúbicas. A diferencia de Math.sqrt, acepta números negativos.
console.log(Math.cbrt(27));
console.log(Math.cbrt(0));
console.log(Math.cbrt(-8));
Al graficar una función irracional, conviene generar solo puntos que pertenecen al dominio.
function f(x) {
const radicando = x - 1;
if (radicando < 0) {
return null;
}
return Math.sqrt(radicando);
}
function generarPuntos(desde, hasta, paso) {
const puntos = [];
for (let x = desde; x <= hasta; x += paso) {
const valorX = Number(x.toFixed(6));
const y = f(valorX);
if (y !== null) {
puntos.push({ x: valorX, y });
}
}
return puntos;
}
console.log(generarPuntos(-2, 5, 1));
La fórmula de distancia usa una raíz cuadrada. El radicando es una suma de cuadrados, por eso nunca es negativo.
function distancia(p1, p2) {
const dx = p2.x - p1.x;
const dy = p2.y - p1.y;
return Math.sqrt(dx ** 2 + dy ** 2);
}
console.log(distancia({ x: 0, y: 0 }, { x: 3, y: 4 }));
En gráficos, simulaciones y videojuegos, se suele calcular la longitud de un vector usando raíz cuadrada.
function longitud(vector) {
return Math.sqrt(vector.x ** 2 + vector.y ** 2);
}
function normalizar(vector) {
const l = longitud(vector);
if (l === 0) {
return { x: 0, y: 0 };
}
return {
x: vector.x / l,
y: vector.y / l
};
}
console.log(normalizar({ x: 3, y: 4 }));
console.log(normalizar({ x: 0, y: 0 }));
La validación evita dividir por cero cuando el vector no tiene longitud.
Las funciones racionales y las irracionales pueden tener restricciones de dominio, pero por motivos distintos.
| Tipo | Restricción común | Ejemplo |
|---|---|---|
| Racional | Denominador distinto de cero | 1 / (x - 2) |
| Irracional con raíz par | Radicando mayor o igual que cero | √(x - 2) |
Las funciones irracionales introducen restricciones de dominio relacionadas con raíces. Estas restricciones son especialmente importantes al programar, porque una entrada inválida puede producir NaN y afectar cálculos posteriores.
En el próximo tema estudiaremos funciones de valor absoluto, que presentan otro tipo de comportamiento especial: cambian su expresión según el signo de la entrada.