El método de Romberg fue propuesto por el matemático alemán Werner Romberg en 1955. Su objetivo era mejorar la precisión de la regla trapezoidal compuesta mediante el uso de extrapolación de Richardson, que permite eliminar errores de truncamiento sucesivamente. Este método se convirtió en una referencia para cálculos de integrales numéricas en computación científica y sigue siendo valorado por su eficiencia y exactitud.
El método de Romberg parte de aplicar la regla trapezoidal compuesta para un número creciente de subintervalos, y mejora sucesivamente los resultados usando extrapolación de Richardson.
La fórmula básica de extrapolación es:
Cálculo de áreas bajo curvas con alta precisión.
Integración de funciones en física e ingeniería donde se requiere reducir el error numérico.
Evaluación de integrales definidas en análisis numérico avanzado.
Resolución de problemas en astronomía, óptica y electromagnetismo.
Validación de otros métodos numéricos como Simpson y cuadraturas de Gauss.
.
function romberg(f, a, b, n)
% f: función a integrar
% a, b: límites de integración
% n: número de niveles
R = zeros(n, n);
% Primera columna: regla trapezoidal compuesta
for k = 1:n
N = 2^(k-1);
h = (b - a) / N;
sumatoria = 0;
for i = 1:N-1
x_i = a + i*h;
sumatoria += f(x_i);
end
R(k,1) = (h/2) * (f(a) + 2*sumatoria + f(b));
end
% Extrapolación de Richardson
for j = 2:n
for k = j:n
R(k,j) = R(k,j-1) + (R(k,j-1) - R(k-1,j-1)) / (4^(j-1) - 1);
end
end
% Mostrar tabla de Romberg
disp('Tabla de Romberg:')
disp(R)
% Mejor aproximación
fprintf('\nMejor aproximación: %.10f\n', R(n,n))
end