16/09/2019, 01:45:41 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: LISTADO ACTUALIZADO DE CURSOS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Calcular Seno y Coseno en Matlab  (Leído 17964 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Ansony
UPNFM
Pleno
****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 104



Ver Perfil
« : 02/10/2011, 04:29:13 pm »

Hola a todos. tengo un problema, se me asigno la tarea de hacer dos programas en Matlab:
1. Que calcule [texx]sen(x)[/texx] con las series de Taylor.
2. Que calcule [texx]cos(x)[/texx] con las series de Taylor.

Ya se que en Matlab ya estan los comandos de sin y cos.
yo hice esto:

Para [texx]Sen(x)[/texx]

Spoiler (click para mostrar u ocultar)

Para [texx]Cos(x)[/texx]

Spoiler (click para mostrar u ocultar)

Todo sale bien para valores pequeños de x.
Pero para los demas necesito muchas iteraciones.

Gracias y saludos
En línea

solo se que nada se...
mathtruco
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 4.903

El gran profesor inspira


Ver Perfil
« Respuesta #1 : 02/10/2011, 05:17:16 pm »

Hola Ansony,

 el desarrollo de Taylor de [texx]f[/texx] en torno a [texx]x=x_0[/texx] aproxima bien (con pocas iteraciones) valores de [texx]f(x)[/texx] cuando [texx]x[/texx] está cerca de [texx]x_0[/texx]. Una cosa es que esté asegurada la convergencia en un intervalo, y otra es que converja rápido (en pocas iteraciones).

Seguro estás usando a serie de Taylor de de seno y coseno en torno al origen.
En línea
Ansony
UPNFM
Pleno
****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 104



Ver Perfil
« Respuesta #2 : 02/10/2011, 05:21:29 pm »

Gracias mathtruco.

¿Me podrías dar una sugerencia de que modificaciones podría hacer?

Gracias de nuevo.
En línea

solo se que nada se...
mathtruco
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 4.903

El gran profesor inspira


Ver Perfil
« Respuesta #3 : 02/10/2011, 05:32:18 pm »

Sugerencias:

- Al usuario del programa seguro le interesa más "el número de decimales de exactitud" que el número de iteraciones. En vez de pedir que ingrese el número de iteraciones podrías pedir que ingrese el "el número de decimales de exactitud", y en base a eso calcular el número de iteraciones, y además de entregar como salida la aproximación junto al número de iteraciones necesarias para conseguirlo.

- Si haces eso, debes poner un máximo de iteraciones permitidas. Si no, si piden una aproximación "demasiado buena" el programa podría no terminar de iterar.

- Como [texx]sin(\alpha)=sin(\alpha+2k\pi)[/texx] para [texx]k[/texx] entero, podrías programar que si un usuario coloca un número mayor que [texx]2\pi[/texx] o menor que [texx]0[/texx], entonces...
En línea
Ansony
UPNFM
Pleno
****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 104



Ver Perfil
« Respuesta #4 : 02/10/2011, 05:40:53 pm »

Umm, intentaré hacer lo que dices.
Gracias de nuevo  :sonrisa:
saludos
En línea

solo se que nada se...
Ansony
UPNFM
Pleno
****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 104



Ver Perfil
« Respuesta #5 : 03/10/2011, 06:52:30 am »

Hola de nuevo, he intentado hacer lo que me dijiste pero sin ningún producto favorable.

Pienso y re-pienso pero nada que me saque de apuros, es que no soy tan diestro con la programación. Si me pudieras ayudar un poco más te lo agradecería.

Saludos.

Por cierto, veo que corregiste mis palabras sin tildar, tendré más cuidado de ello.

Gracias de nuevo.
En línea

solo se que nada se...
mathtruco
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 4.903

El gran profesor inspira


Ver Perfil
« Respuesta #6 : 03/10/2011, 08:47:51 am »

- Un criterio de parada usual en métodos numéricos (cuando programamos) es [texx]|x_{n+1}-x_n|<\mbox{tol}[/texx], donde tol es una entrada del programa (aunque no estoy 100% seguro que se pueda usar, me parece que es un modo práctico de asegurar que la aproximación sea buena).

- Como te mencionaba, si uno da una tol demasiado pequeña, entonces el programa podria iterar demasiadas veces. Por eso es buena idea que el programa termine si se pasa de las 100 iteraciones antes ed llegar a tol (por ejemplo).

- La parte 3 sería, por ejemplo:
  si [texx]0\leq x<2\pi[/texx] calcular [texx]sin(x)[/texx]
  si [texx]2\pi\leq x<4\pi[/texx] calcular [texx]sin(x-2\pi)[/texx]
  si [texx]4\pi\leq x<6\pi[/texx] calcular [texx]sin(x-4\pi)[/texx]
 ...

porque, como observaste, si uno quiere calcular el seno o coseno de algo demasiado grande el programa demora muchas iteraciones en llegar a una solución decente.

Otra observación: [texx]\sin\left(\alpha+\dfrac{\pi}{2}\right)=\cos(\alpha)[/texx], por lo que bastaría programar seno o coseno.
En línea
Ansony
UPNFM
Pleno
****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 104



Ver Perfil
« Respuesta #7 : 07/10/2011, 06:17:29 pm »

Hola y gracias mathtruco.
Ya lo hice y en realidad lo tenía bien, solo que no sabía que al ingresar el valor de x debía ser en radianes.
Gracias de nuevo y saludos.  :risa:  :risa:  :risa:
En línea

solo se que nada se...
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!