29.1 Resolver y verificar son tareas diferentes
Resolver produce un resultado a partir de un modelo. Verificar pregunta si el modelo fue bien traducido, si los cálculos respetan sus reglas y si el resultado se comporta como debería.
Una fórmula equivocada puede devolver números razonables. Por eso necesitamos controles que no repitan exactamente el mismo razonamiento o la misma implementación.
29.2 Verificación por capas
Conviene revisar en ese orden. Corregir decimales no ayuda si falta una fuerza; mejorar el integrador no ayuda si la dirección del rozamiento es incorrecta.
29.3 Verificar el sistema y sus límites
Antes del diagrama debe estar claro qué cuerpos forman el sistema y qué pertenece al entorno. La clasificación determina qué fuerzas son externas y cuáles son internas.
- ¿El sistema coincide con el usado en las ecuaciones?
- ¿Se declararon aproximaciones como cuerda ideal, campo uniforme o partícula?
- ¿El fenómeno permanece dentro del dominio del modelo?
- ¿Cambió el sistema entre dos etapas sin actualizar las fuerzas?
Una conclusión solo es válida bajo los supuestos que la originaron.
29.4 Auditar el diagrama de cuerpo libre
Para cada fuerza del diagrama podemos exigir cuatro respuestas:
Después se comprueba que no falte ninguna interacción externa, que no se hayan incluido reacciones sobre otros cuerpos y que una misma fuerza no aparezca dos veces.
29.5 Comprobar unidades y dimensiones
Todos los términos sumados deben tener la misma dimensión. En la segunda ley:
[ma] = kg·m/s²
Ejemplos de controles útiles:
μNtiene unidades de fuerza porqueμes adimensional.bves fuerza si[b] = N·s/m.F/mtiene unidades de aceleración.vΔttiene unidades de posición.
Un análisis dimensional correcto no demuestra que la fórmula sea correcta, pero uno incorrecto demuestra que hay un error.
29.6 Signos, ejes y componentes
Los signos dependen de la base elegida. Para verificarlos:
- Dibujá los ejes con sentidos positivos.
- Proyectá cada vector y asigná el signo según su orientación.
- Reconstruí el vector desde las componentes.
- Comprobá que su módulo y cuadrante sean los originales.
Un resultado negativo para una incógnita puede indicar un sentido opuesto al supuesto, pero también puede revelar que una cuerda tendría que empujar o una superficie tirar.
29.7 Orden de magnitud
Comparar con valores conocidos permite detectar factores de diez, unidades mal convertidas o masas omitidas.
Una masa de 1 kg cerca de la Tierra pesa aproximadamente 10 N. Una fuerza resultante de 10 N sobre 1 kg produce cerca de 10 m/s²; sobre 1000 kg produce cerca de 0,01 m/s².
Si una respuesta contradice estas escalas, no debe descartarse automáticamente, pero sí investigarse antes de aceptarla.
29.8 Casos límite
Un caso límite modifica un parámetro hasta una situación cuyo comportamiento conocemos:
| Cambio | Resultado esperado |
|---|---|
μ → 0 | Desaparece el rozamiento del modelo. |
θ → 0 en un plano | La componente tangencial del peso tiende a cero. |
| Masas iguales en Atwood | La aceleración tiende a cero. |
| Fuerza resultante cero | La aceleración debe ser cero. |
Δt → 0 | La solución numérica debería converger bajo condiciones adecuadas. |
Una fórmula que falla en un límite sencillo probablemente contiene un signo, término o denominador incorrecto.
29.9 Comparar con una solución analítica
Cuando existe una solución exacta bajo los mismos supuestos, ofrece una referencia independiente. Para aceleración constante en una dimensión:
x(t) = x0 + v0t + ½at²
La simulación se ejecuta hasta el mismo tiempo y se comparan posición y velocidad. La diferencia mide el error combinado del método y del paso.
No es válida una comparación si la solución analítica ignora una fuerza que la simulación sí incluye.
29.10 Residuos de ecuaciones y restricciones
Un residuo mide cuánto se aparta un resultado de una ecuación que debería cumplir. Para la segunda ley:
Idealmente es cero. En cómputo aceptamos un módulo pequeño respecto de una tolerancia justificada.
También pueden medirse residuos de restricciones:
rcontacto = penetración no permitida
Registrar estos valores a lo largo del tiempo permite detectar deriva antes de que sea visible.
29.11 Estudio de convergencia temporal
Para comprobar el efecto del paso se repite la misma simulación con Δt, Δt/2 y Δt/4, manteniendo iguales el modelo, las condiciones iniciales y el tiempo final.
Si el método converge, las soluciones deberían acercarse entre sí y, cuando existe, a la solución analítica. Para Euler, el error global suele reducirse aproximadamente a la mitad al dividir el paso por dos en un problema regular.
Si reducir el paso no mejora el resultado, puede haber un error de modelo, implementación, discontinuidad o comparación.
29.12 Tolerancias absoluta y relativa
Comparar números de punto flotante mediante igualdad exacta suele ser inadecuado. Una condición combinada es:
La tolerancia absoluta protege las comparaciones cerca de cero. La relativa escala con el tamaño del valor esperado.
Las tolerancias deben relacionarse con el método, el paso, las unidades y la precisión requerida. Una tolerancia enorme puede ocultar fallos; una demasiado pequeña puede rechazar redondeos inevitables.
29.13 Pruebas automáticas complementarias
Ejemplos de propiedades: intercambiar las masas de Atwood invierte el signo de la aceleración; duplicar todas las fuerzas y la masa conserva la aceleración; una interacción interna aporta fuerzas opuestas al conjunto.
29.14 Actividad interactiva: observar la convergencia
Compará Euler explícito y semimplícito con la solución analítica de un movimiento con aceleración constante. El último subpaso se acorta para alcanzar exactamente el tiempo final.
Laboratorio de error numérico
Condiciones iniciales: x₀ = 0 m y v₀ = 2 m/s.
29.15 Implementar comparaciones y convergencia
Una aserción combinada evita depender de igualdad exacta:
function aproximadamenteIgual(actual, esperado, absTol = 1e-9, relTol = 1e-6) {
const diferencia = Math.abs(actual - esperado);
const limite = absTol + relTol * Math.abs(esperado);
return diferencia <= limite;
}
console.log(aproximadamenteIgual(0.1 + 0.2, 0.3)); // true
console.log(aproximadamenteIgual(9.99, 10, 1e-6, 1e-4)); // falseUn ensayo de convergencia puede ejecutar el mismo caso con pasos sucesivamente menores:
function eulerExplicito(dt, tiempoFinal, aceleracion, v0 = 2) {
let x = 0;
let v = v0;
let t = 0;
while (t < tiempoFinal - 1e-12) {
const h = Math.min(dt, tiempoFinal - t);
x += v * h;
v += aceleracion * h;
t += h;
}
return x;
}
const exacta = 2 * 2 + 0.5 * 3 * 2 ** 2;
for (const dt of [0.4, 0.2, 0.1, 0.05]) {
const error = Math.abs(eulerExplicito(dt, 2, 3) - exacta);
console.log(dt, error.toFixed(4));
}29.16 Protocolo de diagnóstico
- Reducir el problema al caso más pequeño que conserva el fallo.
- Guardar condiciones iniciales, parámetros, paso y método.
- Auditar sistema, supuestos y diagrama de cuerpo libre.
- Registrar cada contribución del acumulador.
- Comprobar unidades, signos, resultante y residuo de Newton.
- Comparar con un caso límite o solución analítica.
- Repetir con pasos menores.
- Convertir el caso corregido en una prueba de regresión.
Cambiar varias partes del programa a la vez dificulta identificar la causa. Una hipótesis por prueba produce evidencia más clara.
29.17 Errores frecuentes y ejercicios
Errores frecuentes
- Confiar en que una animación visualmente suave es físicamente correcta.
- Usar la misma fórmula como implementación y como única verificación.
- Comparar punto flotante con igualdad exacta.
- Cambiar
Δty el tiempo final simultáneamente. - Ajustar una tolerancia hasta que una prueba incorrecta pase.
- Corregir síntomas numéricos sin revisar primero el modelo físico.
Ejercicios propuestos
- Comprobá dimensionalmente
a = (F − μmg)/m. - Calculá el residuo de Newton para
ΣF = (10; −4) N,m = 2 kgya = (4,9; −2) m/s². - Una simulación devuelve aceleración no nula para masas iguales en Atwood. Indicá tres capas que revisarías.
- Evaluá si 100,002 y 100 son aproximadamente iguales con tolerancias absoluta
0,001y relativa0,00002. - Euler explícito produce errores de posición 0,8 m con
Δt = 0,2 sy 0,4 m conΔt = 0,1 s. ¿Qué sugiere? - Proponé dos pruebas automáticas para una función que calcula rozamiento cinético.
Ver soluciones
Fyμmgtienen unidades de N; al dividir su diferencia por kg se obtienem/s².ma = (9,8; −4) N; el residuo es(0,2; 0) N.- Revisar el modelo y la simetría de masas, los signos del diagrama y la implementación de resultante/aceleración.
- La diferencia es
0,002; el límite es0,001 + 0,00002·100 = 0,003. Sí, cumplen el criterio. - El error se reduce a la mitad al reducir el paso a la mitad, comportamiento compatible con convergencia de primer orden.
- Con velocidad hacia la derecha debe apuntar a la izquierda y tener módulo
μkN; con velocidad invertida debe conservar el módulo e invertir la dirección.
29.18 Ideas para recordar
- La verificación comienza en el modelo y el diagrama, no en los decimales.
- Un control independiente es más valioso que repetir el mismo cálculo.
- Unidades, signos, órdenes de magnitud y casos límite detectan clases distintas de errores.
- Los residuos cuantifican el incumplimiento de ecuaciones y restricciones.
- La convergencia se estudia repitiendo el mismo caso con pasos menores.
- Todo error corregido debería convertirse en una prueba de regresión.
En el próximo tema integraremos el curso en un simulador de bloques, cuerdas y rozamiento con controles y verificaciones automáticas.