Autor Tema: Reducir el grado de un polinomio de Maclaurin con polinomio de Chebyshev

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

23 Octubre, 2023, 01:14 am
Leído 3423 veces

carlosbayona

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 143
  • País: ve
  • Karma: +0/-1
  • Sexo: Masculino
Amigos en clases nos han asignado este ejercicio que debo realizarlo con un programa: 
Encuentre el sexto polinomio de MacLaurin para \( xe^x \) y con la economización de Chebyshev obtenga una aproximación de menor grado, sin que el error sea mayor que \( 0.01 \) en\(  [−1,1] \) Grafique y haga un análisis de lo sucedido, utilice el error de la aproximación.

He intentado hacerlo en python pero recién empiezo, este ejercicio está resuelto en este foro que lo publicó esmeralda pero yo he tratado de traducirlo a python sin ningún resultado, espero puedan ayudarme. Aquí adjunto lo que he hecho

23 Octubre, 2023, 07:09 am
Respuesta #1

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola carlosbayona

Amigos en clases nos han asignado este ejercicio que debo realizarlo con un programa: 
Encuentre el sexto polinomio de MacLaurin para \( xe^x \) y con la economización de Chebyshev obtenga una aproximación de menor grado, sin que el error sea mayor que \( 0.01 \) en\(  [−1,1] \) Grafique y haga un análisis de lo sucedido, utilice el error de la aproximación.

He intentado hacerlo en python pero recién empiezo, este ejercicio está resuelto en este foro que lo publicó esmeralda pero yo he tratado de traducirlo a python sin ningún resultado, espero puedan ayudarme. Aquí adjunto lo que he hecho

Si lo tienes como en la imagen



A partir de la linea 15 deberás eliminar espacios en cada linea, es que escrito de esta forma provoca que la función faprox esté contenida dentro de la función factorial. El indentado es muy importante en python.

Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

23 Octubre, 2023, 04:11 pm
Respuesta #2

carlosbayona

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 143
  • País: ve
  • Karma: +0/-1
  • Sexo: Masculino
Me puedes ayudar con el código para este ejercicio? He intentado resolverlo y no me muestra el resultado esperado.
Este ejercicio da como resultado
Al aproximar \( xe^x \)

\( \frac{1}{3840}+ \frac{379}{384}x+ \frac{637}{640}x^2+ \frac{53}{96}x^3+ \frac{43}{240}x^4 \) con un error de \( 0,00718 \)

23 Octubre, 2023, 05:01 pm
Respuesta #3

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Me puedes ayudar con el código para este ejercicio? He intentado resolverlo y no me muestra el resultado esperado.
Este ejercicio da como resultado
Al aproximar \( xe^x \)

\( \frac{1}{3840}+ \frac{379}{384}x+ \frac{637}{640}x^2+ \frac{53}{96}x^3+ \frac{43}{240}x^4 \) con un error de \( 0,00718 \)

Prueba y revisa esto

Código: [Seleccionar]
import math as m

def f(x,n):
    return ((x+n)*m.exp(x))

def factorial(n):
    if n==0:
        return 1
    else:
        return(n*factorial(n-1))

def faprox(x):
    suma=0
    farray=[f(0,n) for n in range(6+1)]
    xacum=1
    for i in range(len(farray)):
        suma=suma+(farray[i]/factorial(i))*x**i
    return(suma)


Para probar si funciona debes añadir una linea más, llamando a la función dándole algún valor de particular de x.  Es decir, por ejemplo si deseas aproximar el valor de la función para x=1, deberás añadir faprox(1). O mejor  print(faprox(1))


Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

23 Octubre, 2023, 07:54 pm
Respuesta #4

carlosbayona

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 143
  • País: ve
  • Karma: +0/-1
  • Sexo: Masculino
Cómo hago en este caso que hay que analizarlo en el intervalo [-1,1] ?

25 Octubre, 2023, 08:07 pm
Respuesta #5

carlosbayona

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 143
  • País: ve
  • Karma: +0/-1
  • Sexo: Masculino
Hola nuevamente, no he podido ejecutar el código, me pueden ayudar por favor. El algoritmo de este ejercicio se puede hacer en python, porque tal parece que es solo para encontrar el polinomio de Maclaurin. Necesito ayuda por favor




25 Octubre, 2023, 08:43 pm
Respuesta #6

Abdulai

  • Moderador Global
  • Mensajes: 3,044
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Hola nuevamente, no he podido ejecutar el código, me pueden ayudar por favor. El algoritmo de este ejercicio se puede hacer en python, porque tal parece que es solo para encontrar el polinomio de Maclaurin. Necesito ayuda por favor

print(faprox(1))   Debe estar al comienzo de la línea. En Python el indentado importa.

No pongas una imagen del código sino copypasteado encerrado entre [code] [/code]

27 Octubre, 2023, 02:51 am
Respuesta #7

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola carlosbayona

Hola nuevamente, no he podido ejecutar el código, me pueden ayudar por favor. El algoritmo de este ejercicio se puede hacer en python, porque tal parece que es solo para encontrar el polinomio de Maclaurin. Necesito ayuda por favor




Te comparto este código, pero no sé si es lo que buscas:

Código: [Seleccionar]
import math as m
import matplotlib.pyplot as plt

def f(x,n):
    return ((x+n)*m.exp(x))

def factorial(n):
    if n==0:
        return 1
    else:
        return(n*factorial(n-1))

def faprox(x):
    suma=0
    farray=[f(0,n) for n in range(10+1)]
    xacum=1
    for i in range(len(farray)):
        suma=suma+(farray[i]/factorial(i))*x**i
    return(suma)

       
print(faprox(2))

x=[-1+i/20 for i in range(41)]
y=[i*m.exp(i) for i in x]
y2=[faprox(i) for i in x]

fig, axs=plt.subplots(3)

axs[0].plot(x,y,"r")#imagen superior, gráfica de función "exacta"
axs[1].plot(x,y2,"b")#imagen de enmedio, gráfica de función aproximada
axs[2].plot(x,y,"g")#imagen inferior, en esta gráfica están las dos funciones superpuestas. Esta linea es la f "exacta"
axs[2].plot(x,y2,"r")#imagen inferior, función aproximada.
plt.show()

Debes mostrar tus intentos o tus ideas. No me agrada hacerle la tarea a alguien sin ver el mínimo intento. Quiere decir, pides ayuda sin mostrar qué has hecho.

Para realizar este tipo de programas debes saber resolver los problemas a mano

Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

28 Octubre, 2023, 10:51 pm
Respuesta #8

carlosbayona

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 143
  • País: ve
  • Karma: +0/-1
  • Sexo: Masculino
he intentado ejecutar este código pero me aparece el siguiente error:


 

29 Octubre, 2023, 01:38 am
Respuesta #9

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
he intentado ejecutar este código pero me aparece el siguiente error:



Ah, es verdad. xacum es una variable que no se utiliza en este programa, puedes borrar esa linea.

No es un error que te impida correr el programa, más bien es una advertencia.

Agrego

Un error que podría ocurrir es el que sucede si no has instalado el módulo matplotlib. Lo resuelves instalando el módulo.

Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...