Autor Tema: Usar la regla de Simpson con n=4,6,8 hasta obtener la precisión deseada

0 Usuarios y 1 Visitante están viendo este tema.

24 Abril, 2024, 11:10 pm
Leído 79 veces

esmeraldabrown

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 126
  • País: ve
  • Karma: +0/-1
Hola, el ejercicio que les presento no he podido resolverlo, no sé de qué manera iniciar.

  (4)  Use la regla compuesta de Simpson con n = 4,6,8….,  hasta que las aproximaciones sucesivas de las siguientes integrales concuerden con una exactitud de \( 10^{-6} \) . Determine la cantidad de nodos que se requieren. Mediante el algoritmo de la cuadratura adaptativa aproxime la integral con una exactitud de \( 10^{-6} \) y cuente el número de nodos. ¿Produjo alguna mejora la cuadratura adaptativa?
\( \displaystyle\int_{0}^{\pi}Sen x^2dx \) y la integral \( \displaystyle\int_{0}^{\pi}x^2cos(x)dx \) graficar y hacer un análisis para cada valor de n.

25 Abril, 2024, 11:00 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,042
  • País: es
  • Karma: +0/-0
Hola

Hola, el ejercicio que les presento no he podido resolverlo, no sé de qué manera iniciar.

  (4)  Use la regla compuesta de Simpson con n = 4,6,8….,  hasta que las aproximaciones sucesivas de las siguientes integrales concuerden con una exactitud de \( 10^{-6} \) . Determine la cantidad de nodos que se requieren. Mediante el algoritmo de la cuadratura adaptativa aproxime la integral con una exactitud de \( 10^{-6} \) y cuente el número de nodos. ¿Produjo alguna mejora la cuadratura adaptativa?
\( \displaystyle\int_{0}^{\pi}Sen x^2dx \) y la integral \( \displaystyle\int_{0}^{\pi}x^2cos(x)dx \) graficar y hacer un análisis para cada valor de n.

 Me cuesta entender las dudas en estas cosas, porque en teoría no es más que aplicar al pie de la letra unas formulas que deben de haberte proporcionado.

 El método de Simpson compuesto para \( n \) nodos (\( n \) par es): tomar \( h=(b-a)/n \) y aproximar la integral \( \displaystyle\int_{a}^{b}f(x)dx \) por:

\( \displaystyle\sum_{k=1}^{n/2}{}\dfrac{h}{3}f(x_{2k-2})+4f(x_{2k-1})+f(x_{2k}) \)

donde \( x_i=a+ih \).

 Dado que para esas integrales puedes hallar también su valor exacto puedes calcular el error como diferencia entre dicho valor y la aproximación y ver si ese error es o no menor que \( 10^{-6} \).

 Para ambas funciones \( a=0 \), \( b=\pi \).

Saludos.

25 Abril, 2024, 11:27 am
Respuesta #2

esmeraldabrown

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 126
  • País: ve
  • Karma: +0/-1
Y cuando dice que las aproximaciones sucesivas, es que por ejemplo si en la aproximación con \( n=4 \) y con \( n= 6 \) concuerdan con una exactitud menor a \( 10^{-6} \) me detengo? Pero si una cumple con la exactitud y otra no, debo seguir? Y Cuando dice cuente el número de nos que necesita, es decir si la precisión sucesiva la obtengo con \( n = 6 \), entonces el numero de nodos necesarios es \( 6 \)? De repente parezcan preguntas tontas, que pena contigo.

25 Abril, 2024, 11:53 am
Respuesta #3

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,042
  • País: es
  • Karma: +0/-0
Hola

Y cuando dice que las aproximaciones sucesivas, es que por ejemplo si en la aproximación con \( n=4 \) y con \( n= 6 \) concuerdan con una exactitud menor a \( 10^{-6} \) me detengo? Pero si una cumple con la exactitud y otra no, debo seguir? Y Cuando dice cuente el número de nos que necesita, es decir si la precisión sucesiva la obtengo con \( n = 6 \), entonces el numero de nodos necesarios es \( 6 \)? De repente parezcan preguntas tontas, que pena contigo.

No hay preguntas tontas y cuánto más concretas sean mejor.

Tal como está redactado el enunciado (no me había fijado bien):

hasta que las aproximaciones sucesivas de las siguientes integrales concuerden con una exactitud de \( 10^{-6} \) .

Tienes que parar cuando la diferencia entre dos aproximaciones sucesivas sea menor o igual que \( 10^{-6} \).

Saludos.

26 Abril, 2024, 05:30 am
Respuesta #4

esmeraldabrown

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 126
  • País: ve
  • Karma: +0/-1
con este codigo en Python :
import numpy as np
import matplotlib.pyplot as plt

def f(x):
    return x**2 * np.cos(x)

def simpson_rule_composite(f, a, b, n):
    h = (b - a) / n
    x = np.linspace(a, b, n+1)

    s1 = 0
    s2 = 0

    for i in range(1, n):
        if i % 2 == 1:
            s1 += f(x)
        else:
            s2 += f(x)

    integral = h * (f(a) + 4*s1 + 2*s2 + f(b)) / 3

    return integral

exactitud = 1e-6
n = 4
integral_previa = 0
n_values = []
integral_values = []

while True:
    integral_actual = simpson_rule_composite(f, 0, np.pi, n)

    print(f"Con n={n}, la aproximación de la integral es: {integral_actual:.7f}")

    n_values.append(n)
    integral_values.append(integral_actual)

    if abs(integral_actual - integral_previa) < exactitud:
        break

    integral_previa = integral_actual
    n += 2

error_final = abs(integral_actual - 6.2831813)
print(f"\nEl error final es: {error_final:.1e}")

plt.plot(n_values, integral_values, marker='o')
plt.xlabel('Número de nodos (n)')
plt.ylabel('Aproximación de la integral')
plt.title('Aproximación de la integral con regla compuesta de Simpson')
plt.grid()
plt.show()

los resultados que muestra con una exactitud de 10^-6 son:

no logro entender si en ese punto con n=40 se alcanza la precisión deseada, como es que el error da ese resultado? el valor correcto del error debe ser aproximadamente 4.0x10^-6, podrían ayudarme a entender si  es que la forma en que se ha calculado el error no es correcta? necesito cualquier aporte que puedan darme, por favor

26 Abril, 2024, 09:55 am
Respuesta #5

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,042
  • País: es
  • Karma: +0/-0
Hola

 En teoría lo veo bien planteado; no se si hay algún error relacionado con Python. No manejo ese lenguaje.

Saludos.

26 Abril, 2024, 11:57 am
Respuesta #6

esmeraldabrown

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 126
  • País: ve
  • Karma: +0/-1
Luis pero con estos resultados de las íntegrales, si dice hasta que las aproximaciones sucesivas concuerden con la exactitud de 10^-6, como se calcula el error? Es para saber si con los resultados obtenidos calculando manualmente el error da 10^-6, para corregir el programa.

26 Abril, 2024, 03:47 pm
Respuesta #7

Abdulai

  • Moderador Global
  • Mensajes: 2,862
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
El cálculo de la integral está bien,  solo que en la línea donde calculás el error final

Código: [Seleccionar]
error_final = abs(integral_actual - 6.2831813)
Como el valor real de la integral es \( -2\pi \approx-6.2831853 \) , esa línea debe ser:
Código: [Seleccionar]
error_final = abs(integral_actual + 6.2831853)

26 Abril, 2024, 08:34 pm
Respuesta #8

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 56,042
  • País: es
  • Karma: +0/-0
Hola

El cálculo de la integral está bien,  solo que en la línea donde calculás el error final

Código: [Seleccionar]
error_final = abs(integral_actual - 6.2831813)
Como el valor real de la integral es \( -2\pi \approx-6.2831853 \) , esa línea debe ser:
Código: [Seleccionar]
error_final = abs(integral_actual + 6.2831853)

Uffff.. Se me pasó...

Saludos.

27 Abril, 2024, 12:10 am
Respuesta #9

esmeraldabrown

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 126
  • País: ve
  • Karma: +0/-1
muchas gracias , ni se imaginan todo lo que había hecho para obtener el resultado correcto, gracias, mil gracias