Fundamentos multivariables · Tema 01

Del cálculo de una variable al cálculo multivariable

Una introducción visual y computacional a los modelos que reciben varias entradas: qué representan, cómo se leen y por qué exigen nuevas herramientas.

01 · Punto de partida

Los problemas reales rara vez dependen de una sola cantidad

En el cálculo de una variable estudiamos expresiones como y = f(x): una entrada cambia y observamos cómo responde una salida. Ese modelo es suficiente para relacionar el tiempo con la posición de un objeto o la cantidad comprada con el costo. Sin embargo, muchos problemas de programación combinan varias causas al mismo tiempo.

El color de un píxel depende de sus coordenadas (x, y); la temperatura de una habitación puede depender de la posición y del tiempo; el tiempo de respuesta de un servidor depende de la carga, la memoria disponible y el tamaño de las consultas; el error de un modelo de aprendizaje automático depende de todos sus parámetros.

El cálculo multivariable extiende las ideas de límite, derivada e integral a esas situaciones. Sus preguntas iniciales son:

  • ¿Cómo representamos una función con dos, tres o miles de entradas?
  • ¿Qué significa acercarse a un punto cuando existen muchas direcciones?
  • ¿Cómo cambia la salida si modificamos una entrada y mantenemos las demás fijas?
  • ¿En qué dirección aumenta más rápidamente una función?
  • ¿Cómo encontramos la mejor combinación de valores?
  • ¿Cómo acumulamos una cantidad distribuida sobre una superficie o un volumen?

02 · Concepto fundamental

¿Qué es una función de varias variables?

Una función es una regla que asigna a cada entrada válida una única salida. En una función de una variable, la entrada es un número. En una función de varias variables, la entrada es una tupla ordenada de números.

La notación indica que el valor de z depende conjuntamente de x e y. Por ejemplo:

Para evaluar la función en el punto (2, −1), sustituimos ambas coordenadas:

El par (2, −1) es una sola entrada compuesta por dos coordenadas. El orden importa: en general, f(2, −1) y f(−1, 2) pueden producir resultados diferentes.

Notación según la cantidad de entradas y salidas.
TipoNotaciónInterpretaciónEjemplo
Una entrada, una salidaf: ℝ → ℝUn número produce otro número.f(x) = x²
Dos entradas, una salidaf: ℝ² → ℝUn punto del plano produce un número.f(x,y) = x² + y²
Tres entradas, una salidaT: ℝ³ → ℝUn punto del espacio produce un escalar.T(x,y,z)
Varias entradas y salidasF: ℝⁿ → ℝᵐUn vector de entrada produce un vector de salida.F(x,y) = (x+y, x−y)

La expresión ℝⁿ representa el conjunto de listas ordenadas de n números reales. No necesitamos imaginar físicamente dimensiones altas para trabajar con ellas: un programa puede guardar esas coordenadas en un arreglo y aplicarles operaciones.

03 · El salto conceptual

Qué se conserva y qué cambia

Las ideas fundamentales del cálculo de una variable siguen presentes. Continuamos estudiando funciones, límites, cambios locales, extremos y acumulaciones. Lo nuevo surge de la geometría del espacio de entrada.

Una variable

Entradas sobre una recta

Para acercarnos a x = a podemos hacerlo desde la izquierda o desde la derecha. La gráfica de y = f(x) es una curva en el plano.

Varias variables

Entradas en una región

Para acercarnos a (a,b) existen infinitos caminos. La gráfica de z = f(x,y) es, habitualmente, una superficie en el espacio.

Correspondencias que estudiaremos durante el curso.
Cálculo de una variableCálculo multivariableNueva pregunta
f(x)f(x,y,…)¿Cuál es el dominio de combinaciones válidas?
Límite por izquierda y derechaLímite desde infinitos caminos¿Todos los caminos conducen al mismo valor?
Derivada f′(x)Derivadas parciales y direccionales¿Respecto de qué variable o dirección cambia?
PendienteGradiente¿Hacia dónde ocurre el mayor crecimiento?
Recta tangentePlano tangente¿Qué modelo lineal aproxima la superficie?
Máximos y mínimosExtremos, Hessiana y restricciones¿Cuál es la mejor combinación de entradas?
Integral en un intervaloIntegral sobre una región o un sólido¿Cómo se acumula una cantidad en varias dimensiones?

04 · Aplicaciones

Modelos multivariables en programación

Una variable matemática debe representar una cantidad concreta. Antes de calcular conviene identificar entradas, salida, unidades y restricciones.

Una imagen como función de dos coordenadas

Una imagen en escala de grises puede pensarse como una función I(x,y) que asigna una intensidad a cada posición. En una imagen digital, x e y toman valores enteros; en procesamiento de imágenes se construyen también modelos continuos para interpolar, rotar o redimensionar.

I(x, y) = intensidad del píxel ubicado en (x, y)

Un terreno como función de altura

Si h(x,y) indica la altura del terreno en la posición horizontal (x,y), su gráfica forma una superficie. Las curvas de nivel de un mapa unen puntos donde h tiene el mismo valor.

h(x, y) = altura sobre el nivel de referencia

Una función de costo en aprendizaje automático

Un modelo sencillo puede tener parámetros w y b. Su función de pérdida L(w,b) mide el error producido por cada combinación. Entrenar el modelo significa buscar valores que hagan pequeña esa función.

L(w, b) = error del modelo con parámetros w y b

Una simulación dependiente del espacio y del tiempo

Una temperatura T(x,y,t) usa dos coordenadas espaciales y una temporal. Fijar t produce una instantánea; fijar (x,y) muestra la evolución temporal en un lugar.

Entradas y salidas de algunos modelos computacionales.
ProblemaEntradasSalidaRestricciones posibles
Mapa de elevaciónPosición (x,y)AlturaLímites geográficos del mapa.
Color de una texturaCoordenadas (u,v)Componentes (r,g,b)0 ≤ u,v ≤ 1.
Precio de una entregaDistancia, peso, prioridadCostoValores no negativos.
Rendimiento de un servidorCarga, memoria, concurrenciaLatenciaCapacidad física disponible.

05 · Interpretación

Un punto, una superficie y muchas lecturas

Para una función z = f(x,y) podemos distinguir tres objetos:

Entrada (x,y)
Es un punto del dominio, es decir, una combinación válida de valores.
Salida z
Es el número asignado a esa entrada.
Punto de la gráfica (x,y,z)
Ubica la entrada y su salida como un punto del espacio tridimensional.

Si f(x,y) = x² + y², la entrada (1,2) produce la salida 5 y determina el punto (1,2,5) sobre la gráfica. No debemos confundir el punto del dominio, que tiene dos coordenadas, con el punto de la gráfica, que tiene tres.

Cortes: recuperar funciones de una variable

Una estrategia muy útil consiste en fijar una entrada y dejar variar la otra. Si fijamos y = 2, obtenemos:

g(x) = f(x, 2) = x² + 4

Ahora g es una función de una variable. Su gráfica es el corte de la superficie mediante el plano y = 2. Si en cambio fijamos x = 1, resulta h(y) = 1 + y². Estos cortes permiten reutilizar la intuición del cálculo anterior, aunque no describen por sí solos toda la superficie.

Curvas de nivel: fijar la salida

También podemos fijar un valor c y buscar todas las entradas que cumplen f(x,y) = c. Para nuestro ejemplo:

x² + y² = c

Cuando c > 0, esta ecuación describe una circunferencia de radio √c. Cada curva une puntos de igual altura, como sucede en un mapa topográfico.

06 · Tipos de funciones

Salidas escalares y salidas vectoriales

La cantidad de entradas no determina la cantidad de salidas. Conviene separar ambos aspectos desde el comienzo.

z

Campo escalar

Asigna un número a cada punto. Temperatura, altura, presión y costo son ejemplos habituales.

→

Campo vectorial

Asigna un vector a cada punto. Velocidad de un fluido, fuerza y dirección del viento son ejemplos.

F

Transformación

Convierte coordenadas de entrada en nuevas coordenadas, como una rotación o una deformación.

Este curso se concentra primero en funciones escalares de varias variables, porque allí aparecen con claridad las derivadas parciales, el gradiente, los planos tangentes, la optimización y las integrales múltiples. También usaremos funciones vectoriales cuando estudiemos la regla de la cadena y la matriz jacobiana.

07 · Método de trabajo

Cómo construir un modelo multivariable

Agregar entradas sin criterio no mejora un modelo. Cada variable aumenta la información necesaria, la cantidad de combinaciones posibles y el costo de explorar el dominio. Un proceso ordenado ayuda a evitar ambigüedades.

  1. 1
    Definir la pregunta.

    Precisar qué salida queremos explicar, calcular, predecir u optimizar.

  2. 2
    Elegir las entradas relevantes.

    Incluir cantidades que influyen en la salida y separar parámetros de datos variables.

  3. 3
    Indicar unidades y dominio.

    Documentar qué combinaciones tienen sentido y cuáles quedan excluidas.

  4. 4
    Proponer la relación.

    Usar una fórmula, datos observados o un algoritmo que conecte entradas y salida.

  5. 5
    Comprobar casos y sensibilidad.

    Evaluar puntos conocidos y modificar una entrada por vez para interpretar su efecto.

Ejemplo: costo de una tarea en la nube

Supongamos que una ejecución utiliza m GB de memoria durante t minutos. Un modelo simplificado podría ser:

C(m, t) = 0,004mt

La salida se expresa en unidades monetarias. El costo para m = 4 y t = 30 es C(4,30) = 0,48. Duplicar solamente el tiempo duplica el costo; duplicar simultáneamente memoria y tiempo lo multiplica por cuatro.

function costoEjecucion(memoriaGB, minutos) {
  if (memoriaGB < 0 || minutos < 0) {
    throw new RangeError("La memoria y el tiempo no pueden ser negativos");
  }
  return 0.004 * memoriaGB * minutos;
}

console.log(costoEjecucion(4, 30)); // 0.48
console.log(costoEjecucion(4, 60)); // 0.96
console.log(costoEjecucion(8, 60)); // 1.92

El modelo no contempla descuentos, redondeos de facturación ni costos fijos. La fórmula puede estar bien evaluada y aun así ser insuficiente para representar un proveedor real. Distinguir cálculo correcto de modelo adecuado seguirá siendo esencial.

08 · Exploración visual

Laboratorio: recorrer una función de dos variables

El mapa representa el valor de f(x,y) mediante colores: los tonos oscuros indican valores menores y los claros, valores mayores. Mové x e y para recorrer el dominio. El laboratorio compara además qué ocurre al aumentar cada coordenada en 0,5.

EXPERIMENTO 01

Una salida, dos direcciones de cambio

f(x, y) = x² + y²

Los resultados numéricos del mapa aparecen debajo.
Punto elegido(1,00; 1,00)
Valor de la funciónf = 2,00
Cambio al aumentar xΔx f = 1,25
Cambio al aumentar yΔy f = 1,25

Desde este punto, aumentar x o y en 0,50 produce el mismo cambio.

El círculo blanco marca la entrada elegida. El segmento coral muestra el aumento de x y el violeta muestra el aumento de y, manteniendo fija la otra coordenada.

Preguntas para explorar

  1. En el cuenco, colocá el punto cerca de (0,0). ¿Dónde aparece el valor mínimo?
  2. Mantené y fijo y cambiá solamente x. ¿Qué recorrido realizás sobre el dominio?
  3. En el plano, compará los cambios al aumentar x y al aumentar y. ¿Por qué tienen signos distintos?
  4. En el modelo de ondas, buscá puntos donde aumentar x casi no cambie la salida, pero aumentar y sí lo haga.
  5. ¿Dos puntos diferentes pueden tener el mismo color y el mismo valor? Relacioná tu respuesta con las curvas de nivel.

09 · Implementación

Funciones multivariables en JavaScript

JavaScript permite representar las entradas como argumentos separados, como un arreglo o como un objeto. La elección depende del significado y de la cantidad de datos.

Argumentos separados

function altura(x, y) {
  return 100 - 0.5 * x ** 2 - 0.25 * y ** 2;
}

console.log(altura(2, 4)); // 94

Esta forma es breve y clara cuando existen pocas entradas con un orden conocido.

Un objeto con propiedades nombradas

function estimarLatencia({ solicitudes, tamanoKB, cacheActiva }) {
  const base = 20;
  const carga = 0.03 * solicitudes;
  const transferencia = 0.08 * tamanoKB;
  const factorCache = cacheActiva ? 0.55 : 1;

  return (base + carga + transferencia) * factorCache;
}

const entrada = {
  solicitudes: 400,
  tamanoKB: 250,
  cacheActiva: true
};

console.log(estimarLatencia(entrada)); // 28.6

El objeto evita depender de la posición de cada argumento y permite combinar entradas numéricas y categóricas. En cálculo trabajaremos principalmente con entradas numéricas continuas, pero los programas reales suelen mezclar tipos.

Muestrear una región rectangular

Para visualizar una función podemos evaluarla sobre una grilla. Cada muestra conserva las dos coordenadas y el valor obtenido:

function muestrearRegion(funcion, xMin, xMax, yMin, yMax, paso) {
  if (paso <= 0) throw new RangeError("El paso debe ser positivo");

  const muestras = [];
  for (let y = yMin; y <= yMax + paso / 2; y += paso) {
    for (let x = xMin; x <= xMax + paso / 2; x += paso) {
      const xSeguro = Number(x.toFixed(10));
      const ySeguro = Number(y.toFixed(10));
      muestras.push({
        x: xSeguro,
        y: ySeguro,
        z: funcion(xSeguro, ySeguro)
      });
    }
  }
  return muestras;
}

const f = (x, y) => x ** 2 + y ** 2;
console.log(muestrearRegion(f, -1, 1, -1, 1, 1));

10 · Lectura responsable

Dominio, unidades y dependencia

Una fórmula aislada no describe por completo un modelo. Debemos conocer qué representa cada variable y cuáles son sus valores permitidos.

Consideremos el índice i(a,t) = a / t². Algebraicamente puede evaluarse para muchos números, siempre que t ≠ 0. Si a representa una cantidad acumulada y t un tiempo, quizá además necesitemos a ≥ 0 y t > 0. El dominio matemático y el dominio del modelo no tienen por qué coincidir.

Dominio matemático
Valores para los cuales la expresión está definida.
Dominio contextual
Valores que tienen sentido en el fenómeno representado.
Independencia de entradas
Posibilidad de variar una entrada sin imponer automáticamente otra.
Parámetro
Valor que se mantiene fijo durante un análisis, aunque podría cambiar entre modelos.

También puede haber restricciones conjuntas. Si x e y representan proporciones de dos recursos dentro de una capacidad total, quizá deban cumplir x ≥ 0, y ≥ 0 y x + y ≤ 1. El dominio es entonces una región triangular, no todo el plano.

11 · Comprensión

Confusiones frecuentes

«Una función de dos variables devuelve dos resultados»

La cantidad de entradas y la cantidad de salidas son independientes. f(x,y)=x+y recibe dos números y devuelve uno. Una función vectorial puede devolver varios.

«El par (x,y) son dos entradas separadas sin relación»

Forman una única entrada del dominio. La función se evalúa sobre la combinación completa, y puede existir una interacción entre las variables.

«Si conozco el efecto de cada variable por separado, conozco todo el modelo»

No siempre. En f(x,y)=xy, el efecto de cambiar x depende del valor actual de y. Las interacciones son una característica central de los modelos multivariables.

«Una superficie solo puede representar funciones con dos entradas»

Una superficie tridimensional es una forma útil de visualizar una función escalar de dos variables. Las funciones con más entradas siguen siendo válidas aunque no podamos dibujar toda su gráfica de manera directa.

«Fijar una variable elimina información sin utilidad»

Un corte no muestra todo el modelo, pero permite estudiar cómo cambia la salida en una dirección concreta. Las derivadas parciales formalizarán precisamente esta idea.

«La computadora conoce los valores entre los puntos muestreados»

Una grilla contiene evaluaciones discretas. Los colores o superficies entre ellas son producto de una interpolación o de nuevas evaluaciones, no datos observados automáticamente.

12 · Práctica guiada

Ejercicios de comprensión

Ejercicio 1: identificar entradas y salidas

Para cada situación, indicá las entradas, la salida y una notación posible.

  1. El volumen de una caja depende de su ancho, alto y profundidad.
  2. El color de una textura depende de dos coordenadas.
  3. La autonomía de un dispositivo depende de la capacidad de la batería y del consumo promedio.
  4. Una transformación mueve un punto del plano a otra posición del plano.
Ver solución razonada
  1. V(ancho,alto,profundidad) tiene tres entradas y una salida: V = ancho · alto · profundidad.
  2. C(u,v) tiene dos entradas y puede devolver tres componentes: (r,g,b).
  3. A(capacidad,consumo) tiene dos entradas y una salida temporal; un modelo simple es A = capacidad / consumo.
  4. T(x,y) = (x′,y′) tiene dos componentes de entrada y dos de salida.

Ejercicio 2: evaluar e interpretar

Sea R(u,v) = 4u + 2v + uv, donde u y v representan cantidades de dos tipos de tareas.

  1. Calculá R(2,3).
  2. Calculá R(3,3) − R(2,3).
  3. Calculá R(2,4) − R(2,3).
  4. Explicá por qué el término uv representa una interacción.
Ver solución y código

R(2,3)=8+6+6=20. Al aumentar u de 2 a 3 con v=3, el cambio es 7. Al aumentar v de 3 a 4 con u=2, el cambio es 4. El producto uv hace que el efecto de una variable dependa del valor de la otra.

const rendimiento = (u, v) => 4 * u + 2 * v + u * v;

const base = rendimiento(2, 3);
const cambioU = rendimiento(3, 3) - base;
const cambioV = rendimiento(2, 4) - base;

console.log({ base, cambioU, cambioV });
// { base: 20, cambioU: 7, cambioV: 4 }

Ejercicio 3: estudiar cortes y niveles

Para f(x,y)=x²+2y:

  1. Escribí la función de una variable obtenida al fijar y=1.
  2. Escribí la función obtenida al fijar x=2.
  3. Planteá la ecuación de la curva de nivel f(x,y)=6.
  4. Verificá si los puntos (2,1) y (0,3) pertenecen a esa curva.
Ver solución razonada

Con y=1, resulta g(x)=x²+2. Con x=2, resulta h(y)=4+2y. La curva de nivel cumple x²+2y=6, o equivalentemente y=3−x²/2. Ambos puntos pertenecen porque en los dos casos la función vale 6.

Ejercicio 4: diseñar y validar un modelo

Se propone D(p,v)=p/v para estimar la duración de una descarga, donde p es el tamaño pendiente en MB y v la velocidad en MB/s.

  1. Indicá la unidad de la salida.
  2. Definí un dominio contextual razonable.
  3. Calculá D(900,15).
  4. Mencioná dos supuestos que podrían fallar en una descarga real.
  5. Escribí una implementación que rechace entradas inválidas.
Ver una posible respuesta

La salida se mide en segundos. Un dominio razonable es p ≥ 0 y v > 0. El resultado es 60 segundos. El modelo supone, por ejemplo, velocidad constante y ausencia de latencia, pausas o sobrecarga de protocolo.

function duracionDescarga(pendienteMB, velocidadMBs) {
  if (pendienteMB < 0) {
    throw new RangeError("El tamaño pendiente no puede ser negativo");
  }
  if (velocidadMBs <= 0) {
    throw new RangeError("La velocidad debe ser positiva");
  }
  return pendienteMB / velocidadMBs;
}

console.log(duracionDescarga(900, 15)); // 60

13 · Síntesis

Ideas para recordar

  • Una función multivariable recibe como entrada una combinación ordenada de valores.
  • La cantidad de entradas y la cantidad de salidas son características independientes.
  • Una función escalar de dos variables puede representarse mediante una superficie, cortes y curvas de nivel.
  • Al tener varias entradas aparecen infinitas direcciones posibles de aproximación y cambio.
  • Fijar todas las variables menos una permite recuperar una función de una variable y estudiar un corte.
  • Las variables pueden interactuar: el efecto de una puede depender del valor de las otras.
  • Todo modelo debe declarar significado, unidades, dominio, restricciones y supuestos.
  • Una grilla computacional es una muestra finita del dominio, no la función completa.

En el próximo tema estudiaremos puntos, vectores y distancia en ℝ² y ℝ³. Construiremos el lenguaje geométrico necesario para describir posiciones, desplazamientos, direcciones y cercanía en espacios multivariables.