Calcula el círculo de mínimos cuadrados (LSCI) de un conjunto bidimensional de puntos (círculo de referencia de mínimos cuadrados). Se utiliza para determinar la redondez.
Sintaxis
LeastSquaresCircle(Points, [ OutputOptions = LSCI_OUTPUT_MIDDLE_CIRCLE ], [ CircleSize = 5000 ] [ , Algorithm = LSCI_ALGORITHM_KASA ])
o
LeastSquaresCircle(Y, X, [ OutputOptions = LSCI_OUTPUT_MIDDLE_CIRCLE ], [ CircleSize = 5000 ] [ , Algorithm = LSCI_ALGORITHM_KASA ])
La sintaxis de la función LeastSquaresCircle consta de los siguientes elementos:
Parte |
Descripción |
||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Points |
El conjunto de puntos Y y X para los que debe calcularse el círculo de mínimos cuadrados. Ambos componentes de la señal deben tener la misma unidad. Las estructuras de datos permitidas son Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||||||||
Y |
El conjunto de puntos Y utilizado para calcular el círculo de mínimos cuadrados. Si especifica una señal, se utiliza su componente Y. La unidad debe coincidir con la unidad del argumento X. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||||||||
X |
El conjunto de puntos X utilizado para calcular el círculo de mínimos cuadrados. Si especifica una señal, se utiliza su componente Y. La unidad debe coincidir con la unidad del argumento Y. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||||||||
OutputOptions |
Especifica qué resultados deben devolverse. Si hay varios resultados, se emiten en forma de lista. Si, por ejemplo, se desea obtener el radio del círculo de referencia y la redondez, el argumento debe tener el valor LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + LSCI_OUTPUT_ROUNDNESS. El argumento OutputOptions puede tener los siguientes valores:
Se establece el valor predeterminado LSCI_OUTPUT_MIDDLE_CIRCLE si no se especifica el argumento. |
||||||||||||||||||||||||||||
CircleSize |
Especifica el número de valores para presentar los círculos ajustados. Si introduce cero, se conserva el número de valores original. El argumento solo se tiene en cuenta si se ha seleccionado uno de los círculos de la lista para OutputOptions. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos enteros. El valor debe ser mayor o igual que 0. Se establece el valor predeterminado 5000 si no se especifica el argumento. |
||||||||||||||||||||||||||||
Algorithm |
Determina el algoritmo de cálculo del círculo de mínimos cuadrados. Siempre se utiliza el método de mínimos cuadrados. El argumento Algorithm puede tener los siguientes valores:
Se establece el valor predeterminado LSCI_ALGORITHM_KASA si no se especifica el argumento. |
Notas
Los valores se convierten en números en coma flotante de 64 bits antes del cálculo.
Las opciones de salida del argumento OutputOptions se visualizan en el siguiente diagrama:

Se puede acceder a los resultados con los siguientes nombres de los elementos de lista:
Constante |
Significado |
|---|---|
.["Center_X"] |
Coordenada X del centro del círculo de referencia. |
.["Center_Y"] |
Coordenada Y del centro del círculo de referencia. |
.["Middle_Circle"] |
Círculo de referencia (círculo de referencia de mínimos cuadrados). |
.["Middle_Circle_Radius"] |
Radio del círculo de referencia. |
.["Inscribed_Circle"] |
El círculo interior más grande en relación con el círculo de referencia. |
.["Inscribed_Circle_Radius"] |
Radio del círculo interior más grande en relación con el círculo de referencia. |
.["Circumscribed_Circle"] |
El círculo exterior más pequeño en relación con el círculo de referencia. |
.["Circumscribed_Circle_Radius"] |
Radio del círculo exterior más pequeño en relación con el círculo de referencia. |
.["Roundness"] |
Desviación de redondez como diferencia entre los radios de los círculos exterior e interior. |
.["Roundness_Max_to_Ref"] |
Desviación de redondez de valor pico a valor de referencia. |
.["Roundness_Ref_to_Min"] |
Desviación de redondez de valor de referencia a valor valle. |
.["Roundness_Quadratic_Mean"] |
Media cuadrática de las desviaciones de los puntos de datos respecto al círculo de referencia. |
También puede utilizar siempre la sintaxis Formula.ListElementName.
Nota Los cálculos de redondez LSCI se basan en la norma actualmente vigente para la determinación de la redondez, véase [5].
Disponibilidad
FlexPro Professional, Developer Suite
Ejemplos
LeastSquaresCircle(y, x)
Calcula el círculo LSCI (círculo de referencia de mínimos cuadrados) de un conjunto de puntos.
LeastSquaresCircle(y, x, LSCI_OUTPUT_ROUNDNESS)
Calcula el círculo de mínimos cuadrados de un conjunto de puntos y devuelve solo la redondez.
LeastSquaresCircle(points, LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + LSCI_OUTPUT_ROUNDNESS)
Calcula el círculo de mínimos cuadrados de un conjunto de puntos. Como resultado, se emiten el radio del círculo de referencia y la redondez en forma de lista.
Dim alpha = Series(0, 2*PI, 0.05)
Dim r = 11.5 + Noise(1 # NumberOfRows(alpha), NOISE_NORMAL)
Dim points = Signal(Noise(1) + r*Sin(alpha), Noise(1) + r*Cos(alpha))
List("Points", points, "Least-Squares Circle", LeastSquaresCircle(points))
Calcula el círculo de mínimos cuadrados de puntos distribuidos aleatoriamente en el plano bidimensional.

Véase también
Función MaximumInscribedCircle
Función MinimumCircumscribedCircle
Objeto de análisis Aproximación circular
Bibliografía
[1] I. Kasa: A curve fitting procedure and its error analysis. En: IEEE Trans. Inst. Meas., Vol. 25, Pages 8-14. http://ieeexplore.ieee.org/document/6312298/, 1976.
[2] L.D. Coope: Circle fitting by linear and nonlinear least squares. En: Journal of Optimization Theory and Applications, Vol. 76, Issue 2, Pages 381-388. https://link.springer.com/article/10.1007/BF00939613, 1993.
[3] V. Pratt: Direct least-squares fitting of algebraic surfaces. En: Computer Graphics, Vol. 21, Pages 145-152. https://dl.acm.org/citation.cfm?id=37420, 1987.
[4] A. Al-Sharadqah and N. Chernov: Error Analysis for circle fitting algorithms. En: Electron. J. Statist., Vol. 3, Pages 886-911. https://projecteuclid.org/euclid.ejs/1251119958, 2009.
[5] DIN Deutsches Institut für Normung e.V.: Part 1: Vocabulary and parameters of roundness (ISO 12181-1:2011); English translation of DIN EN ISO 12181-1:2011. En: Geometrical product specifications (GPS)- Roundness. 2011.