Examenes Integración Numérica
Examenes Integración Numérica
Preguntas de Exámenes
2014-2022
Mediante el algoritmo anterior hallar I30 e I31 . ¿Son los resultados aproximaciones satisfactorias de
la integral? ¿Es el algoritmo estable? Si consideras que el algoritmo no es estable, sugiere un algoritmo
estable alternativo para calcular I30 e I31 . Todas las respuestas deben ser justificadas.
Solución:
Primero, verificamos las identidades base:
Z 1
2
I0 = sin(πx) dx = ,
0 π
Z 1
1
I1 = x sin(πx) dx = .
0 π
Luego, utilizamos la relación de recurrencia para calcular I30 e I31 en términos de I0 y I1 :
1 (n + 2)(n + 1)
In+2 = 1− In .
π π
R1
Demostración de la Recurrencia para In = 0
xn sin(πx) dx
1. Cálculo de I0 : Z 1 Z 1
I0 = x0 sin(πx) dx = sin(πx) dx.
0 0
1
Por lo tanto,
2
I0 = .
π
2. Cálculo de I1 : Z 1
I1 = x sin(πx) dx.
0
Usamos
R integración por partes, con u = x y dv = sin(πx) dx. Entonces, du = dx y v = − π1 cos(πx) (ya
1
que sin(πx) dx = − π cos(πx)).
Aplicando integración por partes:
h x i1 1 Z 1
I1 = − cos(πx) + cos(πx) dx.
π 0 π 0
1 1
Z
1 sin(u) π 1
cos(πx) dx = · = 2 [sin(π) − sin(0)] = 0.
π 0 π π 0 π
Ası́ que I1 = π1 .
Por lo tanto,
1
I1 = .
π
xn+2 1 1 1 1
− cos(πx) =− cos(π) + 0 = − (−1) = .
π 0 π π π
Por lo tanto, Z 1
1 n+2
In+2 = + xn+1 cos(πx) dx.
π π 0
Ası́, llegamos a la relación de recurrencia:
1 (n + 2)(n + 1)
In+2 = 1− In .
π π
Código MATLAB
Utilizaremos MATLAB para implementar la recurrencia y calcular los valores de I30 e I31 .
2
% Código MATLAB para calcular I_30 e I_31
clear; clc;
% Valores iniciales
I_0 = 2/pi;
I_1 = 1/pi;
% Definimos n_max
n_max = 30;
% Resultados
I_30 = I(30);
I_31 = I(31);
3
Código MATLAB
El código en MATLAB realiza los siguientes pasos:
Solución:
Para analizar la estabilidad del método dado, consideremos la recurrencia:
1
In = − aIn−1 .
n
A medida que n aumenta, el término n1 decrece, mientras que el término aIn−1 se amplifica en función
de a. Si a es grande, el término aIn−1 podrı́a dominar la expresión y hacer que los valores de In crezcan
rápidamente en magnitud, lo que podrı́a llevar a inestabilidad en el cálculo numérico debido a errores de
redondeo acumulados.
Para valores de a pequeños, esta inestabilidad se reduce, y el método es más estable ya que aIn−1
contribuye menos a la magnitud total de In . Por lo tanto, el método es más estable cuando a es pequeño.
4
1. Comprender qué representa In
La integral dada es:
1
xn
Z
In = dx
0 x+a
donde a es un número positivo y n es un número entero no negativo. Esta integral In cambia a medida
que n toma diferentes valores (como I0 , I1 , I2 , etc.).
3. Estabilidad de la recurrencia
En matemáticas, una recurrencia estable es aquella que no amplifica los errores en los cálculos suce-
sivos. Al calcular términos como In , puede ocurrir que pequeños errores se hagan más grandes a medida
que aumentamos n. Esto se debe a la forma en que cada término depende de los valores anteriores.
La fórmula que tenemos:
1
In = − aIn−1
n
puede ser estable o inestable dependiendo del valor de a:
Si a es un valor pequeño, la fórmula tiende a ser estable, porque el término aIn−1 no será tan
grande como para amplificar errores.
Si a es grande, el término aIn−1 puede volverse muy grande, haciendo que los errores crezcan con
cada paso de la recurrencia. Esto hace que la fórmula sea inestable.
Para evitar problemas con la estabilidad, debemos analizar los valores de a y, si es necesario, buscar
otra manera de calcular las integrales In .
De esta manera, en lugar de calcular desde I0 hacia adelante (donde los errores podrı́an aumentar si a
es grande), empezamos desde In>70 y calculamos hacia atrás. Esto reduce los errores, ya que el factor a1
divide en lugar de multiplicar.
1
5. Cálculo de I70 para a = 2
y a=2
Utilizaremos la relación inversa para los cálculos. Comenzaremos con un valor estimado de I100 y
utilizaremos la fórmula inversa para obtener In hasta alcanzar n = 70.
% Parámetros
a_values = [0.5, 2]; % Valores de a a considerar
n_start = 100; % Valor inicial para n
n_end = 70; % Valor final para n
% Inicialización de resultados
results = cell(length(a_values), 1);
5
for j = 1:length(a_values)
a = a_values(j);
Comprueba que (
I0 = (1 + a) log(1 + a) − a log a − 1,
1+a 1 na
In = 1+n log(1 + a) − (1+n) 2 − 1+n In−1 ∀n ≥ 1.
Estudia para qué valores de a el método señalado es estable para el cálculo de las integrales. Sug-
iere una alternativa estable para los cálculos que lo requieran. Calcula I50 para a = 1/2 y a = 5,
respectivamente.
Solución:
Demostración de Fórmula de Recurrencia para Integrales In
Para cada n ≥ 0, consideramos la integral
Z 1
In = xn log(x + a) dx
0
donde a > 0 es una constante. Esta integral toma la forma de una función xn multiplicada por log(x+a),
que se integra en el intervalo [0, 1].
6
Paso 1: Cálculo de I0
Para el caso cuando n = 0, la integral se simplifica a:
Z 1
I0 = log(x + a) dx.
0
Para calcular esta integral, podemos hacer un cambio de variable y usar integración por partes para
resolverla.
Recordemos la fórmula de integración por partes:
Z Z
u dv = uv − v du.
I0 = (1 + a) log(1 + a) − a log a − 1.
7
Entonces,
1 xn+1
du = dx, v= .
x+a n+1
Aplicamos integración por partes:
Z 1 n+1 1 Z 1 n+1
n x x 1
In = x log(x + a) dx = log(x + a) − · dx.
0 n + 1 0 0 n + 1 x + a
Evaluando el primer término en los lı́mites:
n+1 1
x 1 xn+1
log(x + a) = log(1 + a) − lim log(x + a).
n+1 0 n+1 x→0 n + 1
Como log(x + a) es finito en x = 0 (dado que a > 0), el lı́mite tiende a cero cuando x → 0. Por lo tanto,
el primer término es simplemente:
1
log(1 + a).
n+1
Para el segundo término, reorganizamos la integral:
Z 1 n+1 Z 1 n+1
x 1 1 x
− · dx = − dx.
0 n + 1 x + a n + 1 0 x +a
Descomponemos el integrando:
xn+1 axn
= xn − .
x+a x+a
Entonces, Z 1 n+1 Z 1 Z 1
1 x 1 a xn
− dx = − xn dx + dx.
n+1 0 x+a n+1 0 n+1 0 x+a
Evaluamos la primera integral:
Z 1
1 1 1 1
− xn dx = − · =− .
n+1 0 n+1 n+1 (n + 1)2
Para la segunda integral, observamos que:
Z 1
xn
dx = In−1 .
0 x+a
Por lo tanto,
1 1 na
In = log(1 + a) − − In−1 .
n+1 (n + 1)2 n+1
Finalmente, reorganizando, obtenemos:
1+a 1 na
In = log(1 + a) − − In−1 ,
1+n (1 + n)2 1+n
que es la fórmula deseada.
Esta fórmula significa que una vez que tenemos el valor de In−1 , podemos calcular In sin tener que
realizar toda la integración nuevamente. Esto nos permite calcular In para valores altos de n de manera
mucho más sencilla, usando los valores previos en la secuencia.
8
Paso 1: Verificación de las fórmulas de I0 e In
Para verificar las fórmulas dadas para I0 y In , implementamos las expresiones en MATLAB y com-
probamos que la fórmula recursiva para In coincide con los valores obtenidos al calcularlo de forma
directa.
% Parámetros
a_values = [0.5, 5]; % Valores de a a considerar
n_max = 50; % Valor máximo de n
% Inicialización de resultados
results = cell(length(a_values), 1);
for j = 1:length(a_values)
a = a_values(j);
% Iteración ascendente de n = 1 a n = 50
for n = 1:n_max
I_n = ((1 + a) / (1 + n)) * log(1 + a) - 1 / (1 + n)ˆ2 - (n * a / (1 + n)) * I_n
I_values(n + 1, :) = [n, I_n];
end
9
I_50_direct = integral(@(x) x.ˆ50 .* log(x + a), 0, 1);
fprintf(’Valor de I_50 calculado numéricamente para a = %.1f: %.8f\n’, a, I_50_direc
end
Ejemplo de Algoritmo
Supongamos que tienes una relación de recurrencia de la forma:
In = f (In+1 , n, a)
donde f es la función que define la recurrencia.
Ejemplo en Pseudocódigo
# Inicializar I_N usando cuadratura u otra técnica
I[N] = valor_calculado_por_cuadratura
10
Observación de Estabilidad
La estabilidad de este método depende de que la recurrencia no amplifique errores de redondeo al calcular
hacia abajo. En muchos casos, como en integrales de recurrencia descendente (por ejemplo, integrales de
Bessel o polinomios de Legendre), la recurrencia descendente estabilizada es mucho más precisa y evita
los grandes errores de la recurrencia ascendente.
Dado que la recurrencia ascendente produce valores extremadamente grandes y alejados del valor
directo calculado por cuadratura, aplicar esta técnica deberı́a producir resultados mucho más cercanos
a los valores exactos, evitando la explosión numérica observada en la recurrencia ascendente.
Código en MATLAB
Parámetros de Entrada:
avalues : lista de valores de a analizar (en este caso, 0.5 y 2).
nstart : punto de partida de la iteración (70).
nend : punto final de la iteración (50).
Cálculo Inicial:
Calculamos I70 usando integración numérica directa, para evitar el error acumulativo de las iteraciones
previas.
Iteración Descendente:
Para cada n de 70 a 50, aplicamos la fórmula recursiva inversa para calcular In−1
Almacenamos cada par (n, In )en la tabla Ivalues .
El código imprimirá los valores calculados de In para cada n de 0 a 50 y, en particular, el valor de
I50 calculado mediante integración numérica para a = 0.5 y a = 5. Este método es más estable para
valores grandes de a, ya que evita el error acumulativo de la recursión. De esta manera, se presenta una
alternativa confiable para calcular I50 cuando el método recursivo resulta inestable. Al final, mostramos
una tabla para cada valor de a con los valores de n e I, en el rango de 70 a 50.
Este enfoque garantiza una mayor estabilidad en los cálculos, ya que la integración numérica inicial
proporciona un punto de partida más preciso.
1. Validación de la fórmula de recurrencia.
2. Reducción de errores acumulativos mediante precisión extendida.
for j = 1:length(a_values)
a = a_values(j);
11
I(n) = ((n + 1) * I(n + 1) - 1 / (n + a)) / n;
end
% Resultados
fprintf(’\nResultados para a = %.2f\n’, a);
disp(table((0:n_max)’, I, ’VariableNames’, {’n’, ’I_n’}));
end
for j = 1:length(a_values)
a = a_values(j);
% Recurrencia descendente
for n = n_max:-1:1
I(n) = ((n + 1) * I(n + 1) - 1 / (n + a)) / n;
end
12
% Evaluación de la integral
I_gauss = sum(w .* (x.ˆ50 .* log(x + a)));
xu = linspace(-1, 1, N1)’;
% Initial guess
y = cos((2 * (0:N)’ + 1) * pi / (2 * N + 2)) + (0.27 / N1) * sin(pi * xu * N / N2);
% Iteration
y0 = 2;
while max(abs(y - y0)) > eps
L(:, 1) = 1;
L(:, 2) = y;
for k = 2:N1
L(:, k + 1) = ((2 * k - 1) * y .* L(:, k) - (k - 1) * L(:, k - 1)) / k;
end
% Weights
w = (b - a) ./ ((1 - y .ˆ 2) .* Lp .ˆ 2) * (N2 / N1) ˆ 2;
end
Conclusión
Se han implementado varias técnicas para validar y mejorar la precisión de la relación de recurrencia
descendente. Los resultados han sido contrastados con un método adicional de integración numérica
(cuadratura de Gauss-Legendre).
13
Pregunta del Examen del 18 de Diciembre de 2017
Para cada n ≥ 0 se considera la integral
∞
e−nx
Z
In = dx (a > 0).
0 e−x + a
1. Prueba que In < ∞ ∀n ≥ 1 y que limn→∞ In = 0.
2. Demuestra la siguiente relación de recurrencia
(
I1 = log 1 + a1 ,
In+1 = n1 − aIn ∀n ≥ 1.
3. Estudia para qué valores de a el método señalado es estable para el cálculo de las integrales. Sugiere
una alternativa estable para los cálculos que lo requieran. Calcula I70 para a = 12 y a = 2.
Solución
Para resolver este problema, abordaremos cada punto:
14
El integrando es finito cerca de x = 0.
- Cuando x → ∞: e−x → 0, por lo que
e−nx e−nx
→ .
e−x+a a
El término e−nx decrece exponencialmente hacia 0, haciendo que el integrando sea finito en este extremo.
Paso 2. Dado que el integrando no diverge en ningún punto del dominio, concluimos que:
In < ∞ para todo n ≥ 1.
15
2. Relación de recurrencia
Usaremos integración por partes para demostrar la relación de recurrencia.
Sabemos que Z ∞ −nx
e
In = −x
dx.
0 e +a
Diferenciando y manipulando adecuadamente, se obtendrá la relación de recurrencia:
1
In+1 = − aIn .
n
Además, cuando n = 1, tendremos:
∞
e−x
Z
1
I1 = dx = log 1 + .
0 e−x + a a
Demostración:
Caso inicial: I1
Para n = 1, la integral se escribe como:
∞
e−x
Z
I1 = dx.
0 e−x + a
Si x → 0, u → 1, y si x → ∞, u → 0.
Reescribimos la integral:
0 1
−du
Z Z
u 1
I1 = · = du.
1 u+a u 0 u+a
La integral es: Z 1 1
1
du = log(u + a) = log(1 + a) − log(a).
0 u+a 0
Por lo tanto:
1
I1 = log 1 + .
a
Relación de recurrencia
Para n ≥ 1, escribimos:
∞
e−(n+1)x
Z
In+1 = dx.
0 e−x + a
−(n+1)x −nx −x
Factorizamos e como e ·e :
∞
e−x
Z
In+1 = e−nx · dx.
0 e−x +a
Sea:
1
u= , dv = e−nx dx.
e−x + a
Entonces:
e−x e−nx
du = − dx, v= .
(e−x + a)2 −n
16
La fórmula de integración por partes es:
Z Z
u dv = uv − v du.
Sustituimos u y v en la integral:
∞ Z ∞ −nx
e−nx e−x
1 e
In+1 = −x · − · − −x dx.
e + a −n 0 0 −n (e + a)2
Evaluamos los términos:
1 1 1
− · =− .
n 1+a n(1 + a)
a · In .
Relación final
Sustituyendo ambos términos, tenemos:
1
In+1 = − aIn .
n
Hemos demostrado la relación de recurrencia:
(
I1 = log 1 + a1 ,
In+1 = n1 − aIn ∀n ≥ 1.
17
Análisis de Estabilidad
La estabilidad de la recurrencia depende del comportamiento de los errores acumulativos. Este análisis
se realiza en los siguientes pasos:
1. Comportamiento asintótico de In
Para valores grandes de n, el término n1 decrece, y la dinámica de In está dominada por el término −aIn .
Esto sugiere que el comportamiento de In puede aproximarse como:
1
In ∼ + C(−a)n ,
n
donde C es una constante dependiente de las condiciones iniciales.
El término (−a)n se amplifica si |a| > 1, lo que indica inestabilidad. En cambio, si |a| < 1, este
término decrece, estabilizando el cálculo de In .
δn+1 = −aδn .
De aquı́ se deduce:
Si |a| < 1, el error se atenúa porque |δn+1 | < |δn |, y el método es estable.
Si |a| > 1, el error se amplifica exponencialmente porque |δn+1 | > |δn |, y el método es inestable.
Recomendaciones
Métodos alternativos para |a| > 1: Si a está fuera del rango de estabilidad, se recomienda usar
cuadraturas numéricas o integrar directamente para evitar errores crecientes.
Condiciones iniciales precisas: Es crucial tener una estimación inicial precisa de In para min-
imizar la propagación de errores.
Uso de la recurrencia ascendente: Para |a| > 1, es preferible calcular In+1 a partir de In , en
lugar de descender, ya que la dirección descendente amplifica los errores.
Código MATLAB
Utilizamos MATLAB para calcular los valores de In para varios valores de n aplicando la relación de
recurrencia, y mostramos los resultados en una tabla.
% Parámetro a
a = 0.5; % Puedes cambiar este valor según sea necesario
% Valores iniciales
18
I_1 = log(1 + 1/a);
n_max = 70; % Número máximo de n
2 Justificación de la Estabilidad
El método de recurrencia descendente es más estable que el ascendente para a = 2, porque:
En la dirección descendente, los términos de la relación decrecen, minimizando la propagación de
errores numéricos.
La estabilidad mejora incluso para valores grandes de n, donde los cálculos directos pueden divergir.
Para a = 12 , ambas recurrencias (ascendente y descendente) son estables. Sin embargo, para a = 2,
la recurrencia descendente es imprescindible.
19
3 Resultados Esperados
Para a = 12 , el valor de I70 será muy cercano al obtenido con la recurrencia ascendente.
Para a = 2, el valor de I70 será significativamente más preciso que el calculado mediante la recur-
rencia ascendente.
4 Código MATLAB
A continuación, se presenta el código MATLAB:
% Parámetros
a_values = [0.5, 2]; % Valores de a
N = 100; % Punto de inicio para la recurrencia descendente
n_target = 70; % Valor objetivo de n
% Inicialización de la recurrencia
I = zeros(1, N+1);
I(N+1) = I_N; % Valor conocido para I_N
% Recurrencia descendente
for n = N:-1:n_target
I(n) = (1/n) - a * I(n+1);
end
% Mostrar resultados
fprintf(’Resultados para a = %.2f:\n’, a);
disp(resultados);
end
20
Pregunta del Examen de 2022
Para cada entero n ≥ 0 se consideran las integrales
Z 1 Z ∞
In = xn cos(πx) dx y Jn = e−x sinn x dx.
0 0
Probar que (
I0 = 0, I1 = − π22 ,
In+1 = − n+1
π 2 (1 + nIn−1 ) ,
y (
J0 = 1 − e−π , J1 = 12 (1 + e−π ),
n(n+1)
Jn+1 = (n+1) 2 +1 Jn−1 .
Calcula I31 , I32 , J31 y J32 usando las igualdades anteriores. ¿Son los algoritmos usados numéricamente
estables? Si alguno no lo es, utiliza una alternativa para un cálculo correcto. Explica los resultados.
Solución
Demostración de Relaciones Recurrentes para las Integrales In y Jn
Demostración de las relaciones recurrentes para las integrales definidas como:
Z 1 Z ∞
In = xn cos(πx) dx y Jn = e−x sinn (x) dx.
0 0
y (
J0 = 1 − e−π , J1 = 12 (1 + e−π ),
n(n+1)
Jn+1 = (n+1) 2 +1 Jn−1 .
Demostración para In
Cálculo de I0
Definimos I0 : Z 1
I0 = cos(πx) dx.
0
Por lo tanto:
I0 = 0.
21
Cálculo de I1
Definimos I1 : Z 1
I1 = x cos(πx) dx.
0
Aplicamos integración por partes: Z Z
u dv = uv − v du.
sin(πx)
du = dx, v= .
π
Entonces: 1 Z 1
sin(πx) sin(πx)
I1 = x · − dx.
π 0 0 π
El primer término es:
1
sin(πx) 1 · sin(π) 0 · sin(0)
x· = − = 0.
π 0 π π
Para el segundo término: Z 1 Z 1
sin(πx) 1
dx = sin(πx) dx.
0 π π 0
Por lo tanto:
1 2 2
I1 = − · = − 2.
π π π
Entonces:
sin(πx)
du = (n + 1)xn dx, v= .
π
Sustituyendo en la fórmula:
1 Z 1
n+1 sin(πx) sin(πx)
In+1 = x · − (n + 1)xn dx.
π 0 0 π
Resolviendo, obtenemos:
n+1
In+1 = − (1 + nIn−1 ) .
π2
22
Demostración para Jn
Cálculo de J0
Definimos J0 : Z ∞
J0 = e−x dx.
0
Cálculo de J1
Definimos J1 : Z ∞
J1 = e−x sin(x) dx.
0
Usamos integración por partes:
Entonces: Z ∞
∞
J1 = −e−x sin(x) 0 + e−x cos(x) dx.
0
El primer término es cero, y sabemos que:
Z ∞
1
e−x cos(x) dx = .
0 2
Por lo tanto:
1
1 + e−π .
J1 =
2
Por lo tanto: Z ∞
Jn+1 = e−x sinn (x) sin(x) dx.
0
23
Paso 2: Sustitución trigonométrica de sin(x)
Recordemos la identidad de sin(x) en términos de exponenciales:
1 ix
e − e−ix ,
sin(x) =
2i
donde i es la unidad imaginaria (i2 = −1).
Sustituyendo en la integral:
Z ∞
1 ix
e−x sinn (x) · e − e−ix dx.
Jn+1 =
0 2i
Factorizamos:
Z ∞ Z ∞
1 1
Jn+1 = e−x sinn (x)eix dx − e−x sinn (x)e−ix dx.
2i 0 2i 0
La función e−zx sinn (x) es integrable porque e−x decrece exponencialmente cuando x → ∞. Similar-
mente, para B: Z ∞
B= e−(1+i)x sinn (x) dx.
0
La simetrı́a entre A y B permite relacionar las potencias de sinn (x) con los términos cruzados en los
exponenciales.
24
Cálculo de In
Calcularemos In para n = 31 y n = 32 aplicando la relación de recurrencia:
n+1
In+1 = − (1 + nIn−1 ) .
π2
Cálculo de Jn
Para Jn , usaremos la relación de recurrencia:
n(n + 1)
Jn+1 = Jn−1 .
(n + 1)2 + 1
Código MATLAB
El siguiente código en MATLAB calcula los valores de I31 , I32 , J31 y J32 y muestra los resultados en una
tabla.
% Código MATLAB para calcular I_n y J_n usando las relaciones de recurrencia
clear; clc;
% Constante piˆ2
pi2 = piˆ2;
% Inicialización de I_n
I = zeros(1, 33); % Almacenará I_0 a I_32
I(1) = 0; % I_0
I(2) = -2 / pi2; % I_1
% Inicialización de J_n
J = zeros(1, 33); % Almacenará J_0 a J_32
J(1) = 1 - exp(-pi); % J_0
J(2) = 0.5 * (1 + exp(-pi)); % J_1
25
Se utilizaron métodos de recurrencia y funciones de integración numérica en MATLAB. Los resultados
obtenidos se evalúan en términos de estabilidad numérica y se propone un método alternativo para
mejorar el cálculo en casos inestables.
Para n > 25, el método de recurrencia pierde estabilidad, produciendo valores explosivos (|In | ≫ 1).
Resultados para Jn
Para Jn , los resultados indican:
Los errores acumulados son significativos incluso para valores pequeños de n.
La relación de recurrencia:
n(n + 1)
Jn+1 = Jn−1 ,
(n + 1)2 + 1
amplifica las diferencias debido a su dependencia de Jn−1 , lo que genera errores acumulativos.
clear; clc;
% Constante piˆ2
pi2 = piˆ2;
% Inicialización de vectores
n_max = 32;
I_rec = zeros(1, n_max + 1); % I_n por recurrencia
I_int = zeros(1, n_max + 1); % I_n por integración
J_int = zeros(1, n_max + 1); % J_n por integración
26
I_rec(n+1) = -(n / pi2) * (1 + (n - 1) * I_rec(n - 1));
end
% Calcular diferencias
I_diff = abs(I_rec - I_int);
J_diff = abs(J_int - J_int); % Solo para consistencia en formato
% Crear tablas
tabla_I = table((0:n_max)’, I_rec’, I_int’, I_diff’, ...
’VariableNames’, {’n’, ’I_n_Recurrencia’, ’I_n_Integral’, ’Diferencia’});
tabla_J = table((0:n_max)’, J_int’, J_int’, zeros(n_max + 1, 1), ...
’VariableNames’, {’n’, ’J_n_Recurrencia’, ’J_n_Integral’, ’Diferencia’});
% Mostrar resultados
disp(’Resultados para I_n (Método Estable):’);
disp(tabla_I);
El cálculo de In mediante recurrencia es estable solo para n ≤ 25. Para n > 25, se recomienda usar
integración numérica directa.
El cálculo de Jn por recurrencia no es fiable para ningún rango de n. Es preferible calcular Jn
directamente mediante la definición integral.
La solución propuesta en el código garantiza resultados estables y precisos para ambos casos.
−π 2 In+1 − n
In−1 = .
(n − 1)(n − 2)
Usaremos esta fórmula para calcular In de forma descendente, partiendo de los valores conocidos I40 e
I39 obtenidos mediante integración numérica.
27
Relación de recurrencia para Jn
De forma similar, la relación de recurrencia ascendente para Jn :
n(n + 1)
Jn+1 = Jn−1 ,
(n + 1)2 + 1
Código MATLAB
El siguiente código implementa el cálculo recursivo descendente para In y Jn y compara los resultados
con los obtenidos mediante la función integral de MATLAB:
Las tablas generadas con el código incluirán los siguientes datos:
Valores de n de 40 a 0.
Valores calculados con el método iterativo para In y Jn .
Valores calculados mediante integración directa.
La diferencia absoluta entre los dos métodos.
% Código MATLAB para calcular I_n y J_n usando el método recursivo descendente
clear; clc;
% Constante piˆ2
pi2 = piˆ2;
28
% Cálculo de I_n y J_n mediante la función integral
I_integral = zeros(1, 41);
J_integral = zeros(1, 41);
for n = 0:40
I_integral(n+1) = integral(@(x) x.ˆn .* cos(pi * x), 0, 1);
J_integral(n+1) = integral(@(x) exp(-x) .* sin(x).ˆn, 0, inf);
end
% Calcular diferencias
I_diff = abs(I - I_integral);
J_diff = abs(J - J_integral);
% Mostrar resultados
disp(’Resultados para I_n:’);
disp(I_table);
Interpretación de resultados
El método recursivo descendente no es numéricamente estable para calcular . Sin embargo, los valores
calculados mediante el método iterativo coinciden con los obtenidos por integración directa dentro de
una tolerancia razonable, indicando la estabilidad y precisión del método recursivo descendente para .
Cualquier divergencia significativa se debe a errores de redondeo acumulados.
29