• Jueves 14 de Noviembre de 2024, 18:12

Autor Tema:  Re: Como programar la regresion polinomica de una curva en V  (Leído 2387 veces)

cirlia

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Como programar la regresion polinomica de una curva en V
« en: Lunes 1 de Septiembre de 2003, 06:57 »
0
Hola

Dispongo de una curva cuyos datos x yY estan en vectores, y la curva varia para cada corrida de mi programa. Necesito programar un codigo que cada vez encuentre el mejor polinomio (max sexto orden) que se ajuste a la curva.

Me imagino que ya alguien necesito programar algo parecido...

Saludos
Cirlia

acalanto

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Como programar la regresion polinomica de una curva en V
« Respuesta #1 en: Lunes 1 de Septiembre de 2003, 14:17 »
0
No se si te refieres a ajustes polinómicos de Bezzier... o tú conoces el polinomio y deseas formar ecuaciones y resolverlas por determinantes ??

Los datos son vectores o segmentos de recta ??

La curva tiene máximos y mínimos o es monótona ??

Si detallas algo más a lo mejor te podemos ayudar.

cirlia

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Como programar la regresion polinomica de una curva en V
« Respuesta #2 en: Miércoles 3 de Septiembre de 2003, 07:43 »
0
Si has usado Excel para hacer un grafico y luego con el boton derecho usas Agregar linea de tendencia, alli uno puede decidir si la curva graficada se aproxima a una recta o a un polinomio de segundo, tercero...hasta sexto orden. Eso es lo que yo necesito hacer, voy a tener los datos x y Y de una curva pero necesito encontrar la funcion o expresion analitica asi como y=ax+b para una recta, o y=aX2+bx+c para una curva. Eso lo llamamos regresion polinomica.
Mi curva es sencilla comienza en (0,0) y termina en (1,1) noes una recta asi que se que no se aproximara a un polinomio de primer orden sino a mayor.
Los datos los tengo en vectores, quiero decir x=(0,0.5,0.7,0.9,1) y Y=(0,0.1,0.4,0.7,1). (En realidad es una curva de equilibrio quimico, no tiene maximos ni minimos)
Si tienes alguna idea de como hacer esto, por favor indicame como hacerlo.

Muchas gracias anticipadas
Cirlia

acalanto

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Como programar la regresion polinomica de una curva en Visua
« Respuesta #3 en: Miércoles 3 de Septiembre de 2003, 16:31 »
0
No se si esto te puede servir.


Selecciona los puntos de coordenadas en grupos de cuatro, es decir

1er grupo
X1,X2,X3,X4
Y1,Y2,Y3,Y4

2º grupo
X2,X3,X4,X5
Y2,Y3,Y4,Y5

y asi sucesivamente hasta alcanzar el último grupo de 4 pares de valores.

Con cada uno de estos grupos realiza la siguiente operación:


Toma un valor 'u' entre 0 y 1 en segmentos tan pequeños como la precisión requiera.

Calcula los parámetros de regresión para cada valor de 'u'.

A=(-u^3/6)+(u^2/2)-(u/2)+(1/6)
B=(u^3/2)-(u^2)+(2/3)
C=(-u^3+u^2+u)/2+(1/6)
D=(u^3/6)

Xn=A*X1+B*X2+C*X3+D*X4
Yn=A*Y1+B*Y2+C*Y3+D*Y4


Los valores Xn;Yn te los vas guardando en una matriz y cuando termines con todos los grupos formados, tendrás una matriz con los valores que se ajustan a cualquier  sucesión de puntos (Algoritmo de Spline).

Si esto no te sirve, deberás de seleccionar las ecuaciones (Parábola, Hipérbola ...) y ajustar los parámetros (A,B,C...etc) por mínimos cuadrados en función a los valores conocidos (X,Y) de cada referencia.

NOTA: Te lo he escrito al vuelo, espero no haberme equivocado en ninguna operación.

Un saludo
-Acalanto-