Matemáticas II · Tema 5 · Sección 5.5

Ejercicios resueltos de diferencias finitas

4 ejercicios resueltos paso a paso del tema 5 de Matemáticas II (Introducción al análisis numérico). El enunciado está a la vista y la solución, plegada: intenta cada ejercicio antes de abrirla.

Ejercicio 1

Dificultad: Básico

Usando la tabla de valores x:0.1,0.2,0.3,0.4x: 0.1, 0.2, 0.3, 0.4 y f(x):0.1003,0.2013,0.3045,0.4108f(x): 0.1003, 0.2013, 0.3045, 0.4108, aproximar f′(0.2)f'(0.2) y f′(0.3)f'(0.3) usando diferencias hacia adelante, hacia atrás y centradas

Ver solución paso a paso5 pasos
  1. Paso 1
    Organizar los datos

    h=0.1h = 0.1

    (x0,f0)=(0.1,0.1003)(x_0, f_0) = (0.1, 0.1003)

    (x1,f1)=(0.2,0.2013)(x_1, f_1) = (0.2, 0.2013)

    (x2,f2)=(0.3,0.3045)(x_2, f_2) = (0.3, 0.3045)

    (x3,f3)=(0.4,0.4108)(x_3, f_3) = (0.4, 0.4108)

  2. Paso 2
    Aproximar f′(0.2)f'(0.2) usando diferentes métodos

    Diferencia hacia adelante:

    f′(0.2)≈f(0.3)−f(0.2)h=0.3045−0.20130.1=0.10320.1=1.032f'(0.2) \approx \frac{f(0.3) - f(0.2)}{h} = \frac{0.3045 - 0.2013}{0.1} = \frac{0.1032}{0.1} = 1.032

    Diferencia hacia atrás:

    f′(0.2)≈f(0.2)−f(0.1)h=0.2013−0.10030.1=0.1010.1=1.010f'(0.2) \approx \frac{f(0.2) - f(0.1)}{h} = \frac{0.2013 - 0.1003}{0.1} = \frac{0.101}{0.1} = 1.010

    Diferencia centrada:

    f′(0.2)≈f(0.3)−f(0.1)2h=0.3045−0.10030.2=0.20420.2=1.021f'(0.2) \approx \frac{f(0.3) - f(0.1)}{2h} = \frac{0.3045 - 0.1003}{0.2} = \frac{0.2042}{0.2} = 1.021

  3. Paso 3
    Aproximar f′(0.3)f'(0.3) usando diferentes métodos

    Diferencia hacia adelante:

    f′(0.3)≈f(0.4)−f(0.3)h=0.4108−0.30450.1=0.10630.1=1.063f'(0.3) \approx \frac{f(0.4) - f(0.3)}{h} = \frac{0.4108 - 0.3045}{0.1} = \frac{0.1063}{0.1} = 1.063

    Diferencia hacia atrás:

    f′(0.3)≈f(0.3)−f(0.2)h=0.3045−0.20130.1=0.10320.1=1.032f'(0.3) \approx \frac{f(0.3) - f(0.2)}{h} = \frac{0.3045 - 0.2013}{0.1} = \frac{0.1032}{0.1} = 1.032

    Diferencia centrada:

    f′(0.3)≈f(0.4)−f(0.2)2h=0.4108−0.20130.2=0.20950.2=1.0475f'(0.3) \approx \frac{f(0.4) - f(0.2)}{2h} = \frac{0.4108 - 0.2013}{0.2} = \frac{0.2095}{0.2} = 1.0475

  4. Paso 4
    Verificar con función conocida

    Los valores se ajustan muy bien a f(x)≈x+x36f(x) \approx x + \frac{x^3}{6} (que da 0.1002,0.2013,0.3045,0.41070.1002, 0.2013, 0.3045, 0.4107).

    Para f(x)=x+x36f(x) = x + \frac{x^3}{6}:

    f′(x)=1+x22f'(x) = 1 + \frac{x^2}{2}

    f′(0.2)=1+0.042=1.020f'(0.2) = 1 + \frac{0.04}{2} = 1.020

    f′(0.3)=1+0.092=1.045f'(0.3) = 1 + \frac{0.09}{2} = 1.045

  5. Paso 5
    Análisis de precisión

    Para f′(0.2)=1.020f'(0.2) = 1.020:

    • Adelante: error = ∣1.032−1.020∣=0.012|1.032 - 1.020| = 0.012 (1.2%)
    • Atrás: error = ∣1.010−1.020∣=0.010|1.010 - 1.020| = 0.010 (1.0%)
    • Centrada: error = ∣1.021−1.020∣=0.001|1.021 - 1.020| = 0.001 (0.1%)

    Para f′(0.3)=1.045f'(0.3) = 1.045:

    • Adelante: error = ∣1.063−1.045∣=0.018|1.063 - 1.045| = 0.018 (1.7%)
    • Atrás: error = ∣1.032−1.045∣=0.013|1.032 - 1.045| = 0.013 (1.2%)
    • Centrada: error = ∣1.0475−1.045∣=0.0025|1.0475 - 1.045| = 0.0025 (0.24%)

    Resultado: Las diferencias centradas dan el menor error en ambos puntos (aproximadamente 10 veces menor que las laterales), tal como predice la teoría: son de orden O(h2)O(h^2), frente a O(h)O(h) de las progresivas y regresivas.

Ejercicio 2

Dificultad: Intermedio

Desarrollar una fórmula de diferencias finitas de segundo orden para aproximar f′′(x)f''(x) usando cinco puntos equidistantes y aplicarla a los datos: x=0,0.1,0.2,0.3,0.4x = 0, 0.1, 0.2, 0.3, 0.4 con f(x)=1,1.01,1.04,1.09,1.16f(x) = 1, 1.01, 1.04, 1.09, 1.16

Ver solución paso a paso7 pasos
  1. Paso 1
    Derivar la fórmula usando series de Taylor

    Para puntos x−2,x−1,x0,x1,x2x_{-2}, x_{-1}, x_0, x_1, x_2 con espaciado hh:

    f(x0+ih)=f(x0)+ihf′(x0)+(ih)22!f′′(x0)+(ih)33!f′′′(x0)+(ih)44!f(4)(x0)+O(h5)f(x_0 + ih) = f(x_0) + ihf'(x_0) + \frac{(ih)^2}{2!}f''(x_0) + \frac{(ih)^3}{3!}f'''(x_0) + \frac{(ih)^4}{4!}f^{(4)}(x_0) + O(h^5)

  2. Paso 2
    Escribir expansiones para cada punto

    f−2=f0−2hf0′+2h2f0′′−4h33f0′′′+2h43f0(4)+O(h5)f_{-2} = f_0 - 2hf'_0 + 2h^2f''_0 - \frac{4h^3}{3}f'''_0 + \frac{2h^4}{3}f^{(4)}_0 + O(h^5)

    f−1=f0−hf0′+h22f0′′−h36f0′′′+h424f0(4)+O(h5)f_{-1} = f_0 - hf'_0 + \frac{h^2}{2}f''_0 - \frac{h^3}{6}f'''_0 + \frac{h^4}{24}f^{(4)}_0 + O(h^5)

    f0=f0f_0 = f_0

    f1=f0+hf0′+h22f0′′+h36f0′′′+h424f0(4)+O(h5)f_1 = f_0 + hf'_0 + \frac{h^2}{2}f''_0 + \frac{h^3}{6}f'''_0 + \frac{h^4}{24}f^{(4)}_0 + O(h^5)

    f2=f0+2hf0′+2h2f0′′+4h33f0′′′+2h43f0(4)+O(h5)f_2 = f_0 + 2hf'_0 + 2h^2f''_0 + \frac{4h^3}{3}f'''_0 + \frac{2h^4}{3}f^{(4)}_0 + O(h^5)

  3. Paso 3
    Buscar combinación lineal que elimine términos indeseados

    Buscamos coeficientes a−2,a−1,a0,a1,a2a_{-2}, a_{-1}, a_0, a_1, a_2 tales que:

    a−2f−2+a−1f−1+a0f0+a1f1+a2f2=h2f0′′+O(h6)a_{-2}f_{-2} + a_{-1}f_{-1} + a_0f_0 + a_1f_1 + a_2f_2 = h^2f''_0 + O(h^6)

    Condiciones:

    • Coeficiente de f0f_0: a−2+a−1+a0+a1+a2=0a_{-2} + a_{-1} + a_0 + a_1 + a_2 = 0
    • Coeficiente de f0′f'_0: −2a−2−a−1+a1+2a2=0-2a_{-2} - a_{-1} + a_1 + 2a_2 = 0
    • Coeficiente de f0′′f''_0: 2a−2+a−12+a12+2a2=12a_{-2} + \frac{a_{-1}}{2} + \frac{a_1}{2} + 2a_2 = 1
    • Coeficiente de f0′′′f'''_0: −4a−23−a−16+a16+4a23=0-\frac{4a_{-2}}{3} - \frac{a_{-1}}{6} + \frac{a_1}{6} + \frac{4a_2}{3} = 0
    • Coeficiente de f0(4)f^{(4)}_0: 2a−23+a−124+a124+2a23=0\frac{2a_{-2}}{3} + \frac{a_{-1}}{24} + \frac{a_1}{24} + \frac{2a_2}{3} = 0
  4. Paso 4
    Resolver el sistema

    Por simetría: a−2=a2a_{-2} = a_2 y a−1=a1a_{-1} = a_1

    Con la simetría, las condiciones de f0′f'_0 y f0′′′f'''_0 se cumplen automáticamente. Quedan:

    2a2+2a1+a0=02a_2 + 2a_1 + a_0 = 0 (coeficiente de f0f_0)

    4a2+a1=14a_2 + a_1 = 1 (coeficiente de f0′′f''_0)

    43a2+112a1=0⇒a1=−16a2\frac{4}{3}a_2 + \frac{1}{12}a_1 = 0 \Rightarrow a_1 = -16a_2 (coeficiente de f0(4)f^{(4)}_0)

    Sustituyendo: 4a2−16a2=1⇒a2=−1124a_2 - 16a_2 = 1 \Rightarrow a_2 = -\frac{1}{12}, a1=1612=43a_1 = \frac{16}{12} = \frac{4}{3}, a0=−2a2−2a1=16−83=−52a_0 = -2a_2 - 2a_1 = \frac{1}{6} - \frac{8}{3} = -\frac{5}{2}

  5. Paso 5
    Fórmula final

    f′′(x0)≈1h2[−112f−2+43f−1−52f0+43f1−112f2]f''(x_0) \approx \frac{1}{h^2}\left[-\frac{1}{12}f_{-2} + \frac{4}{3}f_{-1} - \frac{5}{2}f_0 + \frac{4}{3}f_1 - \frac{1}{12}f_2\right]

    =112h2[−f−2+16f−1−30f0+16f1−f2]= \frac{1}{12h^2}[-f_{-2} + 16f_{-1} - 30f_0 + 16f_1 - f_2]

  6. Paso 6
    Aplicar a los datos dados

    Tomamos x0=0.2x_0 = 0.2 como punto central, con h=0.1h = 0.1: f−2=f(0)=1f_{-2} = f(0) = 1, f−1=f(0.1)=1.01f_{-1} = f(0.1) = 1.01, f0=f(0.2)=1.04f_0 = f(0.2) = 1.04, f1=f(0.3)=1.09f_1 = f(0.3) = 1.09, f2=f(0.4)=1.16f_2 = f(0.4) = 1.16

    f′′(0.2)≈112(0.1)2[−1+16(1.01)−30(1.04)+16(1.09)−1.16]f''(0.2) \approx \frac{1}{12(0.1)^2}[-1 + 16(1.01) - 30(1.04) + 16(1.09) - 1.16]

    =10.12[−1+16.16−31.2+17.44−1.16]=0.240.12=2= \frac{1}{0.12}[-1 + 16.16 - 31.2 + 17.44 - 1.16] = \frac{0.24}{0.12} = 2

  7. Paso 7
    Verificar con función conocida

    Los datos sugieren f(x)=1+x2f(x) = 1 + x^2, donde f′′(x)=2f''(x) = 2.

    Nuestra aproximación da exactamente 2, confirmando la precisión del método.

    Resultado: La fórmula de diferencias finitas de 5 puntos proporciona aproximaciones de orden O(h4)O(h^4) para la segunda derivada.

Ejercicio 3

Dificultad: Avanzado

Resolver la ecuación diferencial y′′+y=0y'' + y = 0 con condiciones de frontera y(0)=0y(0) = 0 y y(π)=0y(\pi) = 0 usando diferencias finitas con n=4n = 4 subdivisiones

Ver solución paso a paso9 pasos
  1. Paso 1
    Discretizar el dominio

    Intervalo [0,π][0, \pi] con n=4n = 4 subdivisiones

    h=π−04=π4h = \frac{\pi - 0}{4} = \frac{\pi}{4}

    Nodos: x0=0x_0 = 0, x1=π4x_1 = \frac{\pi}{4}, x2=π2x_2 = \frac{\pi}{2}, x3=3π4x_3 = \frac{3\pi}{4}, x4=πx_4 = \pi

  2. Paso 2
    Aproximar la segunda derivada

    y′′(xi)≈yi+1−2yi+yi−1h2y''(x_i) \approx \frac{y_{i+1} - 2y_i + y_{i-1}}{h^2}

  3. Paso 3
    Aplicar la ecuación diferencial en nodos interiores

    En cada nodo interior xix_i (i = 1, 2, 3):

    yi+1−2yi+yi−1h2+yi=0\frac{y_{i+1} - 2y_i + y_{i-1}}{h^2} + y_i = 0

    Multiplicando por h2h^2:

    yi+1−2yi+yi−1+h2yi=0y_{i+1} - 2y_i + y_{i-1} + h^2 y_i = 0

    yi+1+(h2−2)yi+yi−1=0y_{i+1} + (h^2 - 2)y_i + y_{i-1} = 0

  4. Paso 4
    Aplicar condiciones de frontera

    y0=0y_0 = 0 y y4=0y_4 = 0 (dados)

    h2=(π4)2=π216≈0.617h^2 = \left(\frac{\pi}{4}\right)^2 = \frac{\pi^2}{16} \approx 0.617

  5. Paso 5
    Formar el sistema de ecuaciones

    Para i=1i = 1: y2+(0.617−2)y1+y0=0y_2 + (0.617 - 2)y_1 + y_0 = 0

    y2−1.383y1+0=0y_2 - 1.383y_1 + 0 = 0 → y2=1.383y1y_2 = 1.383y_1

    Para i=2i = 2: y3+(0.617−2)y2+y1=0y_3 + (0.617 - 2)y_2 + y_1 = 0

    y3−1.383y2+y1=0y_3 - 1.383y_2 + y_1 = 0 → y3=1.383y2−y1y_3 = 1.383y_2 - y_1

    Para i=3i = 3: y4+(0.617−2)y3+y2=0y_4 + (0.617 - 2)y_3 + y_2 = 0

    0−1.383y3+y2=00 - 1.383y_3 + y_2 = 0 → y2=1.383y3y_2 = 1.383y_3

  6. Paso 6
    Resolver el sistema

    De la primera ecuación: y2=1.383y1y_2 = 1.383y_1

    De la tercera ecuación: y2=1.383y3y_2 = 1.383y_3

    Por tanto: 1.383y1=1.383y31.383y_1 = 1.383y_3 → y1=y3y_1 = y_3

    Sustituyendo en la segunda ecuación:

    y3=1.383(1.383y1)−y1=1.913y1−y1=0.913y1y_3 = 1.383(1.383y_1) - y_1 = 1.913y_1 - y_1 = 0.913y_1

    Como y1=y3y_1 = y_3: y1=0.913y1y_1 = 0.913y_1

    Esto implica (1−0.913)y1=0(1 - 0.913)y_1 = 0 → 0.087y1=00.087y_1 = 0

    Por tanto: y1=0y_1 = 0, lo que implica y2=y3=0y_2 = y_3 = 0

  7. Paso 7
    Interpretar el resultado

    La solución numérica es y=0y = 0 en todos los nodos: el sistema discreto solo admite la solución trivial, porque su determinante vale ≈0.12≠0\approx 0.12 \neq 0.

  8. Paso 8
    Verificar con solución analítica

    La ecuación y′′+y=0y'' + y = 0 tiene solución general y=Acos⁡(x)+Bsin⁡(x)y = A\cos(x) + B\sin(x)

    Aplicando condiciones de frontera:

    y(0)=A=0y(0) = A = 0

    y(π)=Bsin⁡(π)=0y(\pi) = B\sin(\pi) = 0

    Como sin⁡(π)=0\sin(\pi) = 0, cualquier valor de BB satisface la condición: el problema exacto tiene infinitas soluciones y=Bsin⁡(x)y = B\sin(x), y no solo la trivial.

  9. Paso 9
    Analizar eigenvalores

    El problema y′′+λy=0y'' + \lambda y = 0, y(0)=y(π)=0y(0) = y(\pi) = 0 tiene soluciones no triviales solo para los valores propios λk=k2\lambda_k = k^2 (k=1,2,3,…k = 1, 2, 3, \ldots). Nuestro caso, λ=1\lambda = 1, es precisamente el primero, y por eso existen las soluciones Bsin⁡(x)B\sin(x).

    El problema discretizado tiene como primer valor propio 2−2cos⁡(h)h2=2−2cos⁡(π/4)π2/16≈0.950≠1\frac{2 - 2\cos(h)}{h^2} = \frac{2 - 2\cos(\pi/4)}{\pi^2/16} \approx 0.950 \neq 1. Por eso el sistema discreto solo admite y=0y = 0.

    Resultado: El método de diferencias finitas da solo la solución trivial y pierde la familia de soluciones y=Bsin⁡(x)y = B\sin(x). Es un problema de valores propios, que exige un tratamiento específico; al refinar la malla, el primer valor propio discreto se acerca a 1.

Ejercicio 4

Dificultad: Experto

Comparar la precisión de las fórmulas de diferencias finitas progresiva, regresiva y centrada para aproximar ddx(sin⁡x)\frac{d}{dx}(\sin x) en x=π6x = \frac{\pi}{6} usando diferentes valores de hh

Ver solución paso a paso9 pasos
  1. Paso 1
    Establecer el problema

    Función: f(x)=sin⁡(x)f(x) = \sin(x)

    Derivada exacta: f′(x)=cos⁡(x)f'(x) = \cos(x)

    Punto de evaluación: x0=π6x_0 = \frac{\pi}{6}

    Valor exacto: f′(π/6)=cos⁡(π/6)=32≈0.866025f'(\pi/6) = \cos(\pi/6) = \frac{\sqrt{3}}{2} \approx 0.866025

  2. Paso 2
    Definir las fórmulas

    Diferencia progresiva: f′(x0)≈f(x0+h)−f(x0)hf'(x_0) \approx \frac{f(x_0 + h) - f(x_0)}{h}

    Diferencia regresiva: f′(x0)≈f(x0)−f(x0−h)hf'(x_0) \approx \frac{f(x_0) - f(x_0 - h)}{h}

    Diferencia centrada: f′(x0)≈f(x0+h)−f(x0−h)2hf'(x_0) \approx \frac{f(x_0 + h) - f(x_0 - h)}{2h}

  3. Paso 3
    Evaluar para h=0.1h = 0.1

    x0=π/6≈0.5236x_0 = \pi/6 \approx 0.5236

    f(x0)=sin⁡(0.5236)=0.5f(x_0) = \sin(0.5236) = 0.5

    f(x0+0.1)=sin⁡(0.6236)=0.583960f(x_0 + 0.1) = \sin(0.6236) = 0.583960

    f(x0−0.1)=sin⁡(0.4236)=0.411044f(x_0 - 0.1) = \sin(0.4236) = 0.411044

    Progresiva: 0.583960−0.50.1=0.8396\frac{0.583960 - 0.5}{0.1} = 0.8396

    Regresiva: 0.5−0.4110440.1=0.8896\frac{0.5 - 0.411044}{0.1} = 0.8896

    Centrada: 0.583960−0.4110440.2=0.8646\frac{0.583960 - 0.411044}{0.2} = 0.8646

  4. Paso 4
    Evaluar para h=0.05h = 0.05

    f(x0+0.05)=sin⁡(0.5736)=0.542658f(x_0 + 0.05) = \sin(0.5736) = 0.542658

    f(x0−0.05)=sin⁡(0.4736)=0.456092f(x_0 - 0.05) = \sin(0.4736) = 0.456092

    Progresiva: 0.542658−0.50.05=0.8532\frac{0.542658 - 0.5}{0.05} = 0.8532

    Regresiva: 0.5−0.4560920.05=0.8782\frac{0.5 - 0.456092}{0.05} = 0.8782

    Centrada: 0.542658−0.4560920.1=0.8657\frac{0.542658 - 0.456092}{0.1} = 0.8657

  5. Paso 5
    Evaluar para h=0.01h = 0.01

    f(x0+0.01)=sin⁡(0.5336)=0.508635f(x_0 + 0.01) = \sin(0.5336) = 0.508635

    f(x0−0.01)=sin⁡(0.5136)=0.491315f(x_0 - 0.01) = \sin(0.5136) = 0.491315

    Progresiva: 0.508635−0.50.01=0.8635\frac{0.508635 - 0.5}{0.01} = 0.8635

    Regresiva: 0.5−0.4913150.01=0.8685\frac{0.5 - 0.491315}{0.01} = 0.8685

    Centrada: 0.508635−0.4913150.02=0.8660\frac{0.508635 - 0.491315}{0.02} = 0.8660

    (Atención: si los senos se redondean a 4 decimales, con h=0.01h = 0.01 los tres métodos dan 0.860.86; ese es el error de redondeo, que domina cuando hh es pequeño.)

  6. Paso 6
    Tabla de resultados y errores
    hhProgresivaError (%)RegresivaError (%)CentradaError (%)
    0.10.83963.050.88962.720.86460.17
    0.050.85321.480.87821.400.86570.04
    0.010.86350.290.86850.290.86600.002
  7. Paso 7
    Análisis de orden de convergencia

    Error teórico:

    • Progresiva y regresiva: O(h)O(h)
    • Centrada: O(h2)O(h^2)

    Verificación numérica:

    Para h=0.1→0.05h = 0.1 \to 0.05 (reducción 2×2 \times):

    • Progresiva: el error pasa de 3.05% a 1.48% (se divide por ≈2\approx 2), como corresponde a O(h)O(h)
    • Centrada: el error pasa de 0.17% a 0.04% (se divide por ≈4\approx 4), como corresponde a O(h2)O(h^2)

    Para h=0.05→0.01h = 0.05 \to 0.01 (reducción 5×5 \times):

    • Progresiva y regresiva: el error se divide por ≈5\approx 5; centrada: por ≈25\approx 25
  8. Paso 8

    Análisis del error de truncamiento vs. redondeo

    Para valores pequeños de hh, el error de redondeo comienza a dominar. El valor óptimo de hh equilibra error de truncamiento y error de redondeo.

  9. Paso 9
    Recomendaciones prácticas

    Para derivadas numéricas:

    • Usar diferencias centradas cuando sea posible (mejor orden)
    • Elegir h≈εh \approx \sqrt{\varepsilon} para diferencias progresivas o regresivas, y h≈ε1/3h \approx \varepsilon^{1/3} para diferencias centradas, donde ε\varepsilon es la precisión de máquina
    • Para precisión simple (ε≈10−7\varepsilon \approx 10^{-7}): h≈3×10−4h \approx 3 \times 10^{-4} (progresiva) y h≈5×10−3h \approx 5 \times 10^{-3} (centrada)
    • Para precisión doble (ε≈10−16\varepsilon \approx 10^{-16}): h≈10−8h \approx 10^{-8} (progresiva) y h≈10−5h \approx 10^{-5} (centrada)

    Resultado: Las diferencias centradas son superiores para hh moderadamente pequeño, pero todos los métodos convergen para hh suficientemente pequeño antes de que domine el error de redondeo.