Una simulación usa fórmulas y algoritmos para representar cómo cambia un sistema con el tiempo.
Simular significa crear un modelo computacional de un fenómeno. El modelo no copia toda la realidad, pero reproduce relaciones importantes mediante variables y fórmulas.
El álgebra permite expresar esas reglas de cambio de forma clara.
El estado contiene los valores actuales del sistema: posición, velocidad, temperatura, población, energía u otras variables.
const estado = {
tiempo: 0,
posicion: 10,
velocidad: 3
};
console.log(estado);Cada paso de la simulación calcula un nuevo estado a partir del anterior.
Muchas simulaciones avanzan en intervalos pequeños llamados pasos de tiempo.
El valor deltaTiempo representa cuánto avanza la simulación en cada actualización.
Si la velocidad es constante, la posición cambia de manera lineal.
Esta fórmula es una de las más utilizadas en simulaciones simples.
La fórmula de movimiento puede actualizar el estado en cada paso.
function actualizarMovimiento(estado, deltaTiempo) {
return {
tiempo: estado.tiempo + deltaTiempo,
posicion: estado.posicion + estado.velocidad * deltaTiempo,
velocidad: estado.velocidad
};
}
const inicial = { tiempo: 0, posicion: 10, velocidad: 3 };
console.log(actualizarMovimiento(inicial, 1));
console.log(actualizarMovimiento(inicial, 2));El resultado es un nuevo estado calculado desde el estado inicial.
Cuando la velocidad cambia, se usa aceleración. La aceleración indica cuánto cambia la velocidad por unidad de tiempo.
Este modelo se usa para gravedad, empuje, frenado y caída de objetos.
Una caída simple puede modelarse con velocidad vertical y gravedad.
function actualizarCaida(estado, deltaTiempo) {
const gravedad = 9.8;
const nuevaVelocidad = estado.velocidad + gravedad * deltaTiempo;
return {
tiempo: estado.tiempo + deltaTiempo,
altura: estado.altura - nuevaVelocidad * deltaTiempo,
velocidad: nuevaVelocidad
};
}
const objeto = { tiempo: 0, altura: 100, velocidad: 0 };
console.log(actualizarCaida(objeto, 1));
console.log(actualizarCaida(objeto, 2));La altura disminuye porque el objeto cae hacia el suelo.
Una simulación debe controlar límites para evitar valores imposibles.
Los límites convierten una fórmula ideal en un modelo más útil para software.
La función Math.max puede impedir que una variable baje de cierto valor.
function limitarAltura(altura) {
return Math.max(altura, 0);
}
console.log(limitarAltura(25));
console.log(limitarAltura(-3));Este control evita que el modelo devuelva una altura negativa.
El crecimiento puede modelarse con una tasa aplicada al valor actual.
Este tipo de modelo representa crecimiento proporcional.
Un ciclo permite calcular varios pasos de una simulación de crecimiento.
function simularCrecimiento(poblacionInicial, tasa, pasos) {
const historial = [];
let poblacion = poblacionInicial;
for (let paso = 1; paso <= pasos; paso++) {
poblacion = poblacion * (1 + tasa);
historial.push(poblacion);
}
return historial;
}
console.log(simularCrecimiento(1000, 0.05, 5));El historial permite ver cómo evoluciona el sistema paso a paso.
El decaimiento representa una disminución proporcional, como enfriamiento, pérdida de energía o desgaste.
Si la tasa es 0.10, el sistema conserva el 90% del valor en cada paso.
Una simulación puede reducir energía progresivamente hasta llegar a un límite mínimo.
function simularEnergia(energiaInicial, perdida, pasos) {
const valores = [];
let energia = energiaInicial;
for (let paso = 1; paso <= pasos; paso++) {
energia = energia * (1 - perdida);
energia = Math.max(energia, 0);
valores.push(energia);
}
return valores;
}
console.log(simularEnergia(100, 0.2, 6));El modelo evita valores negativos y conserva la evolución de cada paso.
Los errores más frecuentes son usar unidades incompatibles, aplicar pasos de tiempo demasiado grandes o no controlar límites del sistema.
Una simulación simple puede ser útil si sus supuestos están claros.
Las simulaciones convierten fórmulas algebraicas en sistemas que evolucionan. Variables, tasas, límites y pasos de tiempo permiten construir modelos programables.
En el próximo tema se estudiarán aplicaciones del álgebra en ciencia de datos.