Tengo un conjunto de puntos (x,y)
y necesito encontrar la línea de mejor ajuste que pasa por el origen con MATLAB.Ajuste de una línea que pasa por el origen (0,0) a los datos
Respuesta
En resumen: Su función debe ser en forma de y=ax+0
, lo que hace inútil polyfit
. Sin embargo, se puede utilizar el método de mínimos cuadrados:
a = x(:)\y(:);
Explicación:
Tienes n
ecuaciones y una variable a
que se necesita para ser encontrado:
a*x1 = y1;
a*x2 = y2;
...
a*xn = yn;
El operador \
encuentra la solución de mínimos cuadrados.
Alternativamente, se puede encontrar la solución manualmente:
a = (x'*x) \ (x'*y);
o en el código Pseudo:
(x1*y1 + x2*y2 + ... xn*yn)
a = ----------------------------
(x1*x1 + x2*x2 + ... xn*xn)
Esto es útil si no está utilizando Matlab - por ejemplo, en el código C.
Ejemplo y fragmento de código:
function FindLSSolution()
a = 2.5;
x = rand(100,1)*10;
y = a*x + randn(100,1);
figure;scatter(x,y);
A = x(:)\y(:);
hold on;plot(x, A*x,'g');
end
'a = pinv (x) * y' ¿Esto también funcionaría? –
@dr_rk, sí, pero no se recomienda porque es más lento y menos estable numéricamente –
si usted tiene la "Caja de herramientas de ajuste de curvas" que pueden utilizarse
f = fit(x, y, 'a*x');
- 1. Problemas de ajuste RDLC origen de datos al objeto
- 2. Legibilidad de Tuplas: [0,0] vs (0,0)
- 3. ¿Por qué QGraphicsItem :: scenePos() en volver (0,0)
- 4. Trazando una línea de regresión a través del origen
- 5. Pasa por las bases de datos en el servidor y actualiza los datos
- 6. Algoritmo de ajuste de línea OpenCV
- 7. git historia de una línea de origen
- 8. saltos de línea y el ajuste ReSharper
- 9. Argumento que pasa en los scripts .sh
- 10. Ajuste de la anchura de los elementos en línea
- 11. Windows Entorno variable que pasa por OpenSSH
- 12. Pasa los datos al controlador anterior
- 13. Pasa por todos los controles de usuario en una página
- 14. MKMapView userLocation que muestra 0,0 en el simulador?
- 15. ¿Cuál es el origen de pedir a los entrevistados que analicen manualmente una cadena como int?
- 16. El escáner de Java no pasa por el archivo completo
- 17. Pasa por los valores Enum "seleccionados"?
- 18. recursividad y que pasa por referencia
- 19. Lea una cadena de Ruby de a un carácter por vez (para el ajuste de palabras)
- 20. Datos de origen cruzado en canvas HTML5
- 21. ¿El Asesor de ajuste de base de datos de SQL Server modifica los datos?
- 22. ajuste de línea en una cadena de múltiples líneas
- 23. Límite de longitud de línea de origen
- 24. cProfile and Python: Encontrar el número de línea específico que el código pasa más tiempo en
- 25. ggplot2: línea que conecta los medios de datos agrupados
- 26. Un ejemplo de una función javascript que pasa datos JSON a un applet Java
- 27. Ajuste de línea vertical usando polyfit
- 28. UITextView rompe Ajuste de línea en el medio de una palabra
- 29. curva de mejor ajuste para la línea de tendencia
- 30. Interfaces con los genéricos - Ajuste a NIL
¿Cómo se define el criterio para una "mejor ajuste"? Mínimo error cuadrado? –
Sí, es correcto, gracias por señalar que es importante. –