Derivación numérica
Aproximación de derivadas mediante esquemas de diferencias finitas progresivas, regresivas y centradas.
Qué es
La derivación numérica es la aproximación computacional de la tasa instantánea de cambio o derivada de una función (o derivadas de orden superior como la aceleración ) cuando la función se conoce únicamente en una malla discreta de puntos experimentales o cuando su forma analítica es demasiado intrincada para derivar simbólicamente.
Se fundamenta en el desarrollo en serie de Taylor alrededor del punto de evaluación :
- Diferencia progresiva hacia adelante (Forward difference):
- Diferencia regresiva hacia atrás (Backward difference):
- Diferencia centrada (Central difference): Por simetría par, los errores lineales de primer orden se cancelan idénticamente, elevando la aproximación a segundo orden .
- Segunda derivada centrada (operador laplaciano 1D):
Por qué aparece en física
En física teórica y experimental, las leyes dinámicas fundamentales son ecuaciones diferenciales que conectan magnitudes con sus derivadas temporales o espaciales:
- Cinemática y dinámica newtoniana: La velocidad instantánea es la primera derivada temporal de la posición y la aceleración es la segunda derivada .
- Mecánica analítica y campos conservativos: Las fuerzas físicas conservativas se obtienen como el gradiente negativo de la energía potencial: .
- Termodinámica y transporte: La ley de Fourier de conducción térmica () y la ley de Fick de difusión molecular () requieren calcular gradientes espaciales de temperatura y concentración.
- Electromagnetismo: La fuerza electromotriz inducida en una espira conductora según la ley de Faraday-Lenz es .
Idea visual o geométrica
Geométricamente, la derivada real representa la pendiente de la recta tangente en el punto .
- La diferencia progresiva traza la secante hacia la derecha; la regresiva traza la secante hacia la izquierda. Ambas divergen si la curva presenta curvatura.
- La diferencia centrada traza la cuerda secante entre y . Por el teorema del valor medio, esta secante es paralela a la tangente en algún punto interior, coincidiendo casi perfectamente con la pendiente en .
- La trampa del ruido: A diferencia de la integración numérica (que promedia y suaviza el ruido), la derivación numérica actúa como un filtro paso alto que amplifica salvajemente el ruido: si los datos tienen un ruido experimental , la derivada numérica tiene un error del orden de . Al hacer pequeño, la derivada computada se convierte en puro ruido caótico.
Lenguaje simbólico mínimo
- Diferencia centrada de 1ª derivada:
- Diferencia centrada de 2ª derivada:
- Stencil de 5 puntos de alta precisión :
- Paso óptimo en presencia de error de redondeo :
Qué significa el resultado
El valor numérico obtenido define la tasa instantánea de flujo, fuerza o aceleración del sistema. Si la derivada se calcula sobre datos experimentales ruidosos, el resultado solo es físicamente interpretable si los datos brutos han sido previamente filtrados o ajustados mediante un suavizado polinómico (como un filtro Savitzky-Golay o splines cúbicos de regularización).
Cuándo no debes usarlo
- No derives directamente datos brutos de sensores con ruido de alta frecuencia: Si tomas posiciones medidas con GPS o acelerómetros cada milisegundo con una fluctuación de y aplicas diferencias finitas directas, la aceleración calculada arrojará oscilaciones espurias de miles de de fuerza que no existen en la realidad física.
- No elijas por debajo del límite de redondeo: En precisión Float64 (), nunca elijas ; para diferencias centradas el paso óptimo es .
- No uses diferencias centradas en los extremos del dominio: En el primer dato y en el último no existen puntos a ambos lados; es obligatorio cambiar a diferencias progresivas en el inicio y regresivas en el final.
Resumen operativo
- Evalúa la suavidad de los datos: si provienen de sensores experimentales, aplica primero un filtro de suavizado o ajuste polinómico antes de derivar.
- Si los datos son analíticos, utiliza diferencias centradas de orden o el stencil de cinco puntos .
- En los bordes del intervalo temporal o espacial, utiliza esquemas asimétricos progresivos o regresivos de orden equivalente.
- Selecciona el paso respetando el compromiso entre truncamiento y redondeo ( para Float64 en primera derivada; en segunda derivada).
- Asigna las unidades correctas dividiendo la dimensión del numerador entre la dimensión de la variable de derivación: .
Procedimiento de Derivación Numérica en Física
Antes de calcular
Antes de calcular derivadas numéricas:
- Determina si la función procede de una fórmula analítica conocida o de una serie temporal muestreada experimentalmente.
- Si los datos son experimentales, analiza el nivel de ruido: si la relación señal-ruido es menor a , es obligatorio aplicar un suavizado previo (Savitzky-Golay o spline cúbico) antes de derivar.
- Verifica el espaciado entre puntos: si la malla es equiespaciada (), se pueden aplicar stencils estándar; si es irregular, deben recalcularse los coeficientes por polinomios de Lagrange.
Paso 1: identifica el objeto matemático
Selecciona el operador de diferencias finitas según la posición en la malla:
- Puntos interiores (): Esquema centrado de segundo orden .
- Borde inicial (): Esquema hacia adelante de segundo orden:
- Borde final (): Esquema hacia atrás de segundo orden:
Paso 2: elige la operación
Determina si se requiere primera o segunda derivada:
- Para velocidad (): Primera derivada centrada.
- Para aceleración (): Segunda derivada centrada sobre la posición directamente: (Calcular la aceleración directamente en un solo paso ahorra una ronda de amplificación de ruido en comparación con derivar la velocidad dos veces).
Paso 3: conserva unidades y signos
- La primera derivada adquiere dimensiones de (por ejemplo, metros/segundo en velocidad).
- La segunda derivada adquiere dimensiones de (por ejemplo, en aceleración).
- Conserva rigurosamente los signos algebraicos de las pendientes (pendientes negativas indican fuerzas atractivas o enfriamiento térmico).
Paso 4: calcula
- Para datos experimentales: Evalúa el stencil centrado en cada nodo interior:
- Para funciones analíticas: Fija el paso óptimo: Calcula la aproximación y evalúa la derivada en para estimar el error mediante extrapolación de Richardson:
Paso 5: interpreta el resultado
- Comprueba la coherencia física: ¿la velocidad calculada concuerda con el desplazamiento global dividido por el tiempo total?
- Comprueba si aparecen oscilaciones en diente de sierra (sawtooth oscillations) nodo a nodo en la derivada: ese patrón es el síntoma inequívoco de que el ruido experimental está siendo amplificado por la derivación.
- Si aparecen oscilaciones espurias, incrementa la anchura de la ventana de suavizado previo.
Checklist de autocontrol
- ¿He utilizado esquemas asimétricos compatibles de segundo orden en los extremos para no degradar la precisión global?
- ¿Es el paso en funciones analíticas cercano a en Float64?
- ¿He aplicado filtrado o ajuste polinómico a los datos experimentales antes de derivar?
- ¿Coinciden las unidades físicas con para primera derivada y para segunda derivada?
- ¿He evitado derivar dos veces sucesivas cuando podía aplicar la fórmula directa de segunda derivada?
Ejemplo guiado: Cálculo de fuerza conservativa y aceleración a partir de un potencial cuántico
Situación física
En física molecular, la interacción intermolecular entre dos átomos de un gas noble (como el Argón) se modela mediante el potencial de Lennard-Jones: donde es la profundidad del pozo de potencial y es la distancia característica de colisión interatómica. Se desea calcular numéricamente mediante diferencias finitas centradas la fuerza intermolecular ejercida entre dos átomos a una distancia de separación (), y contrastar el resultado numérico con la derivada analítica exacta.
Traducción matemática
- Derivada analítica exacta:
- Evaluación analítica en : Cociente dimensional: . Corchete: . Constante frontal:
- Aproximación por diferencias centradas: Elegimos un paso de desplazamiento relativo .
Cálculo paso a paso
- Cálculo de los radios desplazados:
- Evaluación del potencial en y :
- Para :
- Para :
- Cálculo de la fuerza mediante diferencia centrada: (Al calcular con todos los decimales en Float64 sin redondeo intermedio):
Lectura del resultado
La fuerza neta es positiva (repulsiva): . El error relativo de la derivada numérica por diferencias centradas frente a la analítica exacta es inferior al (), confirmando que con la fórmula centrada de segundo orden es extraordinariamente precisa para dinámicas moleculares.
Error común evitado
Elegir : en ese caso en la mantisa de punto flotante, dando y una fuerza numérica calculada de exactamente , lo que colapsaría la simulación molecular.
Ejemplo inverso: Reconstrucción de la fuerza a partir de datos de trayectoria con ruido
Situación física
Un carro dinámico en una pista de laboratorio se frena debido a una fuerza desconocida. Un sensor óptico registra su posición cada :
Se conoce la masa del carro . Se desea determinar la aceleración y la fuerza neta en el instante .
Resultado dado
Malla temporal con paso uniforme . Datos en torno a : , , .
Reconstrucción analítica
La segunda derivada centrada para la aceleración en es:
- Sustitución de valores:
- Denominador:
- Aceleración instantánea:
- Fuerza neta resultante:
Qué pregunta física permite responder
¿Es compatible este resultado con una fuerza de frenado por fricción constante ? Calculando la aceleración en : La aceleración permanece constante en , confirmando que la fuerza disipativa es constante e igual a hacia atrás.
Verificación de límites
Si los datos de posición hubieran tenido un ruido de apenas (), el numerador habría fluctuado en , produciendo una aceleración espuria que variaría entre y (un error relativo del , ilustrando la alta sensibilidad de la segunda derivada numérica).
Errores comunes en Derivación Numérica y Diferencias Finitas
1. Derivar directamente datos experimentales ruidosos sin suavizado previo
Parece razonable porque si se tienen puntos , calcular parece el paso natural e intuitivo. Falla porque la derivación numérica actúa como un amplificador de ruido de alta frecuencia: el ruido experimental aleatorio se divide por el paso , produciendo un error que escala como . Al muestrear a frecuencias altas (), la señal de la derivada se ahoga en un mar de fluctuaciones espurias. Se detecta si la curva de la derivada temporal calculada presenta oscilaciones continuas en zigzag o picos monstruosos que no guardan relación con la física del movimiento. Se corrige aplicando un filtro de suavizado de media móvil ponderada, un filtro Savitzky-Golay o ajustando splines antes de evaluar la derivada. Mini-ejemplo: si con , la velocidad calculada oscila entre y debido a un ruido de posición de apenas un centímetro.
2. Reducir el paso por debajo del límite de precisión de la máquina
Parece razonable porque la definición formal de derivada exige el límite cuando . Falla porque en aritmética de punto flotante IEEE-754 con precisión finita (Float64), el error de redondeo al restar se divide por , creciendo como . Para , la cancelación catastrófica destruye los dígitos significativos y para la resta devuelve cero. Se detecta cuando en un gráfico log-log de error frente a paso , la curva de error deja de descender con pendiente y asciende bruscamente con pendiente . Se corrige utilizando el paso óptimo teórico para Float64. Mini-ejemplo: evaluar la derivada de en con devuelve en lugar de .
3. Emplear esquemas asimétricos de primer orden en los bordes degradando la precisión global
Parece razonable usar la diferencia simple en el borde inicial por comodidad de programación. Falla porque la diferencia simple hacia adelante es de primer orden , mientras que los puntos interiores calculados con diferencias centradas tienen precisión de segundo orden . El error cometido en el primer punto contamina las condiciones de contorno e infecta la precisión global del algoritmo. Se detecta cuando el análisis de convergencia en malla arroja un orden global observado cercano a 1 en lugar de 2. Se corrige utilizando el stencil asimétrico hacia adelante de segundo orden en y el stencil regresivo en . Mini-ejemplo: en una malla con , el error en el interior es de , pero el borde calculado con diferencia simple tendrá un error de (diez veces peor).
4. Encadenar dos primeras derivadas numéricas en vez de usar la segunda derivada centrada
Parece razonable pensar que para calcular la aceleración es equivalente calcular primero la velocidad y luego aplicar la misma fórmula sobre la velocidad: . Falla porque encadenar dos derivadas centradas utiliza un stencil efectivo de anchura (), duplicando el error de truncamiento y amplificando innecesariamente el ruido en dos etapas sucesivas. Se detecta observando que la fórmula de stencil directo de tres puntos es dos veces más compacta y precisa. Se corrige calculando siempre las derivadas de orden superior mediante sus stencils directos específicos. Mini-ejemplo: en una oscilación armónica de alta frecuencia, el esquema encadenado produce un retardo de fase numérico y subestima la aceleración máxima en comparación con el stencil directo.
5. Olvidar que la malla es irregular y aplicar fórmulas de paso constante
Parece razonable usar la fórmula estándar dividiendo por tomando un medio aproximado. Falla porque si las posiciones o tiempos de muestreo no son estrictamente constantes (), la cancelación de los términos lineales de Taylor no se produce y la diferencia centrada estándar pierde su orden , degradándose a una mala aproximación de orden . Se detecta si en ensayos de laboratorio con adquisición por disparos asíncronos aparecen errores sistemáticos severos. Se corrige deduciendo los pesos asimétricos correctos mediante interpolación de Lagrange: . Mini-ejemplo: si y , aplicar introduce un sesgo de pendiente proporcional a .
Regla rápida de detección
- ¿Datos de sensor con ruido? Prohibido derivar sin filtro: suaviza primero con Savitzky-Golay.
- ¿Funciones analíticas en Float64? Fija . Si pones , el redondeo arruinará la derivada.
Aplicaciones físicas de la Derivación Numérica y Diferencias Finitas
1. Astrodinámica y guiado de satélites: cálculo de aceleración y maniobras orbitales
Aparece en sistemas de navegación espacial al derivar numéricamente la aceleración experimentada por una sonda a partir de los vectores de posición y velocidad transmitidos por telemetría óptica o Doppler. Se calcula aplicando el stencil centrado de segunda derivada sobre la posición: . El resultado da la aceleración no gravitacional neta debida al empuje de los motores iónicos o al frenado aerodinámico atmosférico en maniobras de aerofrenado (aerobraking). El error peligroso es derivar datos brutos de telemetría afectados por ruido de fase del enlace de radio; el ruido estocástico de pocos milímetros amplificado por induce aceleraciones aparentes de cientos de que activarían erróneamente los propulsores de emergencia del satélite. Como control final se filtran las coordenadas mediante un filtro de Kalman extendido y se comprueba que la aceleración derivada coincida con el empuje nominal de los sensores de presión de la tobera.
2. Termodinámica de edificios y geofísica: cálculo del gradiente geotérmico y flujo de calor
Aparece en prospecciones geotérmicas y diseño de aislamiento térmico al calcular el flujo de calor conducido por conducción a través de la corteza terrestre o los muros de un edificio mediante termopares colocados a diferentes profundidades . Se calcula mediante diferencias finitas centradas para puntos interiores y fórmulas asimétricas hacia adelante en la superficie expuesta. El resultado da la tasa de disipación de calor por metro cuadrado, permitiendo estimar el flujo térmico del manto terrestre () o certificar la eficiencia energética de un cerramiento aislante. El error peligroso es utilizar un espaciado entre sensores demasiado grande en las capas superficiales donde la radiación solar y el viento inducen variaciones térmicas diurnas abruptas; si el gradiente no resuelve la capa límite térmica, el flujo de calor estimado comete errores superiores al . Como control final se verifica que en régimen estacionario el producto se conserve constante en todas las capas no conductoras.
3. Física de semiconductores: cálculo del campo eléctrico interno en uniones p-n
Aparece en microelectrónica al simular la zona de carga de espacio de diodos y transistores MOSFET resolviendo la ecuación de Poisson electrostática: . Se calcula aproximando el campo eléctrico mediante la primera derivada negativa del potencial electrostático y la densidad de carga libre mediante la segunda derivada centrada . El resultado da la intensidad del campo eléctrico pico en la unión metalúrgica, determinando la tensión de ruptura por avalancha y la capacidad de la zona de agotamiento. El error peligroso es utilizar una malla espacial uniforme en todo el semiconductor; la unión p-n tiene una zona de deplexión de apenas unas decenas de nanómetros donde el potencial varía bruscamente en varios voltios, mientras que en las zonas neutras el potencial es prácticamente plano. Una malla gruesa distorsiona la segunda derivada produciendo una densidad de carga no física que viola la neutralidad global de carga. Como control final se implementan mallas no uniformes refinadas exponencialmente en la interfase de la unión y se integra la densidad de carga para confirmar que .
4. Dinámica de fluidos y meteorología: cálculo de la vorticidad atmosférica
Aparece en meteorología sinóptica y aerodinámica al calcular el campo de vorticidad relativa a partir de mediciones de campos de viento horizontal tomadas por radares meteorológicos Doppler o estaciones terrestres. Se calcula aplicando esquemas de diferencias centradas bidimensionales sobre la cuadrícula horizontal de velocidades : . El resultado da la intensidad del giro ciclónico (positivo) o anticiclónico (negativo), prediciendo la formación de tornados, borrascas y turbulencia en aire claro para la navegación aérea. El error peligroso es derivar los vientos de radar sin filtrar previamente las interferencias de ecos de tierra (ground clutter) o bandadas de aves; los falsos gradientes locales de velocidad generan vórtices numéricos gigantes espurios que activan falsas alarmas de tornado en los centros de predicción. Como control final se aplica un filtro de control de calidad Doppler (despliegue de velocidades ambiguas) y se contrasta la vorticidad derivada con imágenes satelitales de vapor de agua.
5. Electrodinámica: fuerza electromotriz inducida por flujo magnético variable
Aparece en ingeniería electromagnética al caracterizar transformadores de potencia y generadores eléctricos donde se mide el flujo magnético en el núcleo ferromagnético y se calcula la fuerza electromotriz inducida según la ley de Faraday-Lenz. Se calcula aplicando stencils centrados de 5 puntos de orden sobre las mediciones temporales de flujo: . El resultado da la forma de onda de la tensión eléctrica instantánea generada, identificando distorsiones armónicas y saturación magnética del núcleo. El error peligroso es utilizar un paso temporal excesivamente amplio al conectar o desconectar cargas inductivas; los fenómenos de conmutación rápida generan variaciones transitorias de flujo del orden de microsegundos ( gigante) que producen sobretensiones destructivas que un muestreo lento no detectaría. Como control final se verifica que la integral temporal de la fuerza electromotriz en un ciclo completo de corriente alterna sea estrictamente nula: .
Práctica guiada: Derivación Numérica y Diferencias Finitas
Nivel 1: reconocimiento
Para cada una de las siguientes necesidades de cálculo en física, selecciona el esquema de diferencias finitas óptimo:
- Calcular la velocidad inicial de un proyectil a partir de datos de radar que comienzan en .
- Calcular la fuerza neta en el punto central de una simulación de dinámica molecular con paso uniforme conocido.
- Evaluar la aceleración instantánea en el punto final de una trayectoria antes del impacto del sensor.
- Obtener la fuerza a partir de un potencial analítico implementado en código.
Solución:
- Diferencia progresiva hacia adelante de segundo orden (no existen datos para ).
- Diferencia centrada de primer orden (simétrica, orden ).
- Diferencia regresiva hacia atrás de segundo orden .
- Diferencia centrada con paso adaptativo .
Nivel 2: aplicación directa
Se mide la temperatura a lo largo de una barra metálica de cobre aislada lateralmente:
Sabiendo que la conductividad térmica del cobre es , calcula el gradiente de temperatura en mediante diferencias centradas y determina el flujo de calor conducido .
Solución:
- Malla uniforme: .
- Gradiente por diferencia centrada en :
- Flujo de calor conducido según la ley de Fourier: El flujo es positivo, transportando calor en el sentido positivo del eje (de la zona caliente a la fría).
Nivel 3: elección de herramienta
Dispones de mediciones de posición de un vehículo autónomo registradas por un receptor GPS a con un ruido gaussiano aleatorio de . Se necesita estimar la aceleración para el control de estabilidad. ¿Por qué aplicar diferencias finitas directas sobre las coordenadas del GPS es inaceptable y qué alternativa debe utilizarse?
Solución: El paso temporal es . El ruido de posición en la segunda derivada se amplifica como: ¡El ruido en la aceleración calculada es de más de () para un vehículo que viaja a velocidad constante! La aceleración numérica ahogaría completamente la dinámica real del coche. Alternativa obligatoria:
- Emplear un filtro de Kalman cinemático que fusione los datos del GPS con los de una unidad de medición inercial (IMU/acelerómetro físico).
- O bien ajustar los últimos 15 puntos a un polinomio cuadrático mediante regresión de mínimos cuadrados ponderada (filtro Savitzky-Golay) y derivar analíticamente el polinomio resultante.
Nivel 4: interpretación física
Demuestra por qué el error de la diferencia centrada para la primera derivada es de orden cuadrático mientras que el de la diferencia progresiva es lineal . Explica qué implicación tiene esto en la propagación de errores en simulaciones de fluidos o transferencia de calor.
Solución: Escribimos las series de Taylor completas:
- Para la diferencia hacia adelante:
- Restando ambas series completas miembro a miembro: Dividiendo entre : Implicación física: En simulaciones de fluidos (advección-difusión), utilizar diferencias de primer orden introduce una difusión numérica artificial proporcional a que amortigua vórtices y viscosidades reales. Los esquemas centrados de segundo orden preservan los perfiles de velocidad sin disipación artificial de primer orden.
Nivel 5: error intencionado
Un estudiante programa la derivada numérica de en con un bucle que reduce sucesivamente en potencias de 10: . Observa que el error disminuye cuadráticamente hasta donde alcanza , pero para el programa reporta una derivada de (error del ). El estudiante concluye que "el compilador de Python tiene un error en la función seno para números pequeños". Desmiente la afirmación del estudiante y calcula analíticamente por qué se obtiene cero.
Fallo conceptual: No hay ningún error en el compilador ni en la función seno. El fallo se debe a la resolución de la mantisa de punto flotante IEEE-754.
- En precisión doble Float64, la mantisa tiene 53 bits binarios, lo que equivale a aproximadamente 15.9 dígitos decimales de precisión relativa ().
- Para y , el número requiere 17 dígitos decimales para distinguirse de .
- Al sumar en binario, el término se desplaza fuera de la mantisa de 53 bits y se redondea exactamente a cero:
- Por tanto, el numerador de la diferencia centrada evalúa a:
- El resultado de la división es estrictamente . El cero no es un bug del software; es la consecuencia matemática inexorable de violar el límite de precisión de la máquina.