Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
Rulo86
Nivel 6


Edad: 37
Registrado: 16 Sep 2006
Mensajes: 258

Carrera: Electrónica y Informática
argentina.gif
MensajePublicado: Mar Nov 06, 2007 11:00 pm  Asunto:  Ajustar un muestreo de puntos a la funcion A.sen(B.t + C) Responder citandoFin de la PáginaVolver arriba

Se tiene un muestreo de aproximadamente 500 puntos, los mismos representan posición en función del tiempo. Se sabe que la función tiene que tener la forma A.sen(B.t + C) y se buscan los valores mas adecuados para las constantes A, B y C.

se podría generar un polinomio de taylor que aproxime a la función A.sen(B.t + C) y a partir de ahi calcular los coeficientes por cuadrados mínimos.

alguno conoce un método mejor para ajustar la función?


Libra Género:Masculino Tigre OfflineGalería Personal de Rulo86Ver perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
IgnacioB
Nivel 5



Registrado: 27 Ago 2007
Mensajes: 191

Carrera: Civil
blank.gif
MensajePublicado: Dom Nov 11, 2007 5:22 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cursé numérico hace mucho, no te contesté porque estaba esperando a ver si alguno se acuerda mejor.

Estoy casi seguro de que vimos una forma de, dada una serie de puntos muestrales, ajustar coeficientes de una función con la forma que vos elijas. También minimizaba el error cuadrático pero sin necesidad de hacer taylor. Te quedaba un sistema de ecuaciones lineales, era sencillito.

El problema es que más allá de recordar que existe, no te puedo decir nada. Te sugiero que lo busques en el Burden, que tiene todo lo que dan en numérico.

_________________
Image

 Género:Masculino  OcultoGalería Personal de IgnacioBVer perfil de usuarioEnviar mensaje privadoNúmero ICQ
Monty
Nivel 5


Edad: 37
Registrado: 24 Jul 2007
Mensajes: 168
Ubicación: cap fed
Carrera: Electrónica
argentina.gif
MensajePublicado: Dom Nov 11, 2007 5:39 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

intuitivamente me parece que sale facil como un problema de cuadrados minimos si usas la expresion compleja de seno:

2i.senx = eix - e-ix


Sagitario Género:Masculino Tigre OfflineGalería Personal de MontyVer perfil de usuarioEnviar mensaje privado
Stoma
Nivel 8


Edad: 36
Registrado: 06 Jul 2006
Mensajes: 510

Carrera: Informática
argentina.gif
MensajePublicado: Dom Nov 11, 2007 6:48 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Con ajuste. No lo vas a poder resolver a mano porque el ajuste hace producto interno entre puntos de la funcion real y la de ajuste, y con 500 puntos de muestra vas a estar toda una vida. Despues te queda un sistema de ecuaciones para resolver (que es simetrico, que suerte, en vez de hacer 1312328190382109 cuentas, solo tenes que hacer la mitad)
Busca ajuste numerico (cuadrados minimos) por algun lado (paja para buscar cuaderno de numerico en el kilombo que tengo...)

saludos

Nico

_________________
Image
Si yo te digo carnaval...

Geminis Género:Masculino Gato OfflineGalería Personal de StomaVer perfil de usuarioEnviar mensaje privado
Rulo86
Nivel 6


Edad: 37
Registrado: 16 Sep 2006
Mensajes: 258

Carrera: Electrónica y Informática
argentina.gif
MensajePublicado: Dom Nov 11, 2007 8:29 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Stoma escribió:
No lo vas a poder resolver a mano porque el ajuste hace producto interno entre puntos de la funcion real y la de ajuste, y con 500 puntos de muestra vas a estar toda una vida.


Los 500 puntos los recibe un programa y el mismo es el que debe encontrar la mejor aproximacion. no se pretende hacerlo a mano.

En este momento se ajusta buscando donde estan tres raices para encontrar la frecuencia y la fase, y los puntos maximos y minimos para encontrar la amplitud.
La idea es mejorar este ajuste que es bastante malo ( si un punto de medicion es malo puede molestar mucho).

Para usar cuadrados minimos el problema es que hay que encontrar funciones que sean LI que van a ser la base para aproximar los puntos de muestreo.
Si mi funcion a aproximar fuera simplemente A.sen(t) simplemente la base queda formada por sen(t) y por cuadrados mínimos busco el coeficiente A.
Ahora como quiero aproximar A.sen(B.t + C), ¿¿que funciones LI usamos para aplicar cuadrados mínimos??, a lo sumo hay que hacer una aproximacion por polinomio de taylor y caemos en la propuesta que hice en el primer post.


Libra Género:Masculino Tigre OfflineGalería Personal de Rulo86Ver perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
Jorge Pérez
Nivel 6



Registrado: 02 May 2006
Mensajes: 210


MensajePublicado: Dom Nov 11, 2007 8:38 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

No podés aplicar cuadrados mínimos directamente porque el conjunto de funciones parametrizado por Asen(Bt+C) no es un subespacio. Si primero ajustás la frecuencia B, obteniendo un valor estimado B*, entoces sí podés usar cuadrados mínimos porque

Asen(B*t+C)=Acos(C) sen(B*t)+Asen(C) cos(B*t)=c1 sen(B*t)+c2 cos(B*t), y {sen(B*t), cos(B*t)} es la base de funciones.

La frecuencia quizá la puedas estimar mediante transformada rápida de Fourier.


   OfflineGalería Personal de Jorge PérezVer perfil de usuarioEnviar mensaje privado
Monty
Nivel 5


Edad: 37
Registrado: 24 Jul 2007
Mensajes: 168
Ubicación: cap fed
Carrera: Electrónica
argentina.gif
MensajePublicado: Lun Nov 12, 2007 9:05 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

si pero con FFT podrias llegara a estimar fijando A y C, entonces podrias estimar B, pero eso no seria la solucion optima.
O sea vos queres minimizar la distancia cuadratica en ordenadas, o la distancia entre f y g dada por
d(f,g) = sumatoria (i=0, n (cant de puntos) ) (f- - gi)2

o sea el objetivo seria reexpresar la funcion:
Asen(Bt + C) como
Asen(Bt + C) = Af1(t) + Bf2(t) + Cf3(t)

si logras hallar tres funciones (no necesariamente continuas) que hagan ese trabajo ya esta, no??


Sagitario Género:Masculino Tigre OfflineGalería Personal de MontyVer perfil de usuarioEnviar mensaje privado
Rulo86
Nivel 6


Edad: 37
Registrado: 16 Sep 2006
Mensajes: 258

Carrera: Electrónica y Informática
argentina.gif
MensajePublicado: Lun Nov 12, 2007 9:53 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Monty escribió:

Asen(Bt + C) = Af1(t) + Bf2(t) + Cf3(t)

si logras hallar tres funciones (no necesariamente continuas) que hagan ese trabajo ya esta, no??


claro, mi base seria {f1, f2, f3}


Libra Género:Masculino Tigre OfflineGalería Personal de Rulo86Ver perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
Monty
Nivel 5


Edad: 37
Registrado: 24 Jul 2007
Mensajes: 168
Ubicación: cap fed
Carrera: Electrónica
argentina.gif
MensajePublicado: Lun Nov 12, 2007 10:15 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

bueno una manera de obtener esa base es mediante la transformada de fourier
intuitivamente estarias obteniendo la proyeccion de la funcion a aproximar en el espacio de las funciones trigonometricas


Sagitario Género:Masculino Tigre OfflineGalería Personal de MontyVer perfil de usuarioEnviar mensaje privado
Jorge Pérez
Nivel 6



Registrado: 02 May 2006
Mensajes: 210


MensajePublicado: Lun Nov 12, 2007 1:26 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Monty escribió:
si pero con FFT podrias llegara a estimar fijando A y C, entonces podrias estimar B, pero eso no seria la solucion optima.
O sea vos queres minimizar la distancia cuadratica en ordenadas, o la distancia entre f y g dada por
d(f,g) = sumatoria (i=0, n (cant de puntos) ) (f- - gi)2

o sea el objetivo seria reexpresar la funcion:
Asen(Bt + C) como
Asen(Bt + C) = Af1(t) + Bf2(t) + Cf3(t)

si logras hallar tres funciones (no necesariamente continuas) que hagan ese trabajo ya esta, no??


El tema es que no podés expresar

Asen(Bt + C) = Af1(t) + Bf2(t) + Cf3(t)

con f1,f2,f3 independientes de A,B,C. Por eso decía que el conjunto de funciones {Asen(Bt + C)} no es subespacio. En este caso la mejor aproximación no se puede pensar como una proyección.

Si la función que muestreaste tiene una única frecuencia B, la fft tendría que tener un pico pronunciado en esa frecuencia y eso te permitiría identificarla. Luego ajustás por cuadrados mínimos A y C tomando como base sen(Bt) y cos(Bt). Por supuesto no sería óptima pero me parece mejor que usar aprox. de Taylor.


   OfflineGalería Personal de Jorge PérezVer perfil de usuarioEnviar mensaje privado
Monty
Nivel 5


Edad: 37
Registrado: 24 Jul 2007
Mensajes: 168
Ubicación: cap fed
Carrera: Electrónica
argentina.gif
MensajePublicado: Lun Nov 12, 2007 2:10 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

jorge, me parece que tenes toda la razon del mundo.
yo podria reexpresar Asen(bt+c) = Af1(t) + Bf2(t) + Cf3(t) pero seria B=B(A), C=C(A) p. ej.
En tal caso, si las B y C son lineales es facil obtener la proyeccion pero si son no lineales ya no se puede sacar facil por proyeccion.

yendo a lo practico:
Ruo86, si lo que hay que hallar son los A, B, C que verifican esto, lo podes encarar como un problema de analisis 2

dist = sumatoria(i=1, n) (Asen(Bti + C) - f(ti) )2

los (ti, fi) son datos y te queda armarte el hessiano de toda esa sumatoria...

ademas, lo podrias resolver con solver o whatsbest en excel para hallar los A, B, C.


igual, habia un truquito con la fft para resolver esta clase de problemas no??


Sagitario Género:Masculino Tigre OfflineGalería Personal de MontyVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.2483s ][ Pedidos: 20 (0.1905s) ]