programa por polyval minimos curvas cuadrados ajuste matlab image-processing curve-fitting spline best-fit-curve

por - polyval matlab



Curva de ajuste de puntos sin clasificar en un aviĆ³n (7)

Editar: nvm malinterpretó la pregunta. Dejaré esta respuesta aquí de todos modos.

Tal vez trate de encontrar el casco convexo de los puntos primero y luego coloque el casco convexo en la llanura

http://www.cse.unsw.edu.au/~lambert/java/3d/giftwrap.html <- incluye animaciones java de implementación http://en.wikipedia.org/wiki/Convex_hull_algorithms

Si no quieres eficiencia, hay algunas implementaciones muy simples como la versión de envoltura de regalos que es O (n ^ 2) http://en.wikipedia.org/wiki/Gift_wrapping_algorithm

La versión de divide y vencerás es O (nlogn)

Pregunta: ¿Cómo se ajusta una curva a los puntos en un avión si no son de un solo valor?

Para el ejemplo que se muestra, ¿cómo encajaría una curva (como la negra) en los ruidosos datos azules? Es similar al suavizado de spline, pero no sé el orden de los datos.

Matlab sería preferido, pero el pseudocódigo está bien. O un indicador de cuál es la terminología correcta para este problema sería genial.

Gracias


Este problema es realmente difícil si no tienes un pedido. Hacer un mínimo de cuadrados en algunos (x (t), y (t)) es fácil, suponiendo que conozca el orden de t .

Probablemente necesites algún tipo de algoritmo de búsqueda. Un algoritmo genético podría estar bien.


Para aproximaciones por partes usando B-splines, puede usar este paquete de Matlab . Funciona en modo automático y medio manual.


Tendrás que hacer ajustes o splines múltiples por partes. No espere que ningún algoritmo pueda hacer todo de una vez. Podría ser al menos tres curvas: la primera hasta la intersección, el bucle, y luego volver desde la intersección hacia adelante.



podría intentar inferir el orden de los puntos y luego aplicar los procedimientos spline. hay una ambigüedad donde la curva se cruza a sí misma, por supuesto.

quizás el enfoque más ingenuo sería computar la Triangulación de Delaunay (tiempo nlogn), a partir de la cual se aproxima un Ciclo hamiltoniano de distancia mínima euclidiana a través de los puntos. Aún tendrías que averiguar dónde están los ''extremos''. Desde el pedido, puede aplicar las técnicas spline. Para una referencia, ver Encontrar Ciclos Hamiltonianos en Delaunay Triangulations es NP-Complete , o el documento de Reinelt sobre TSP heurística, 1992, o EMST en Wikipedia

hth,


Sus datos se ven como una gráfica paramétrica bidimensional de (x,y) como una función de algún parámetro subyacente t . Como tal, es posible hacer un ajuste por least-squares de x(t) e y(t) si se les puede dar un modelo razonable. Sus datos parecen describir un limacon .