fit a curve with smallest distance in y AND x direction to data points
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have two sets of measurements x and y that seem to be correlated when plotting them against each other (below a small subsample of my data). I would like to fit a curve (linear, exponential, polynomial ..) through my data, such that it minimizes the distance of my points to the line (in an absolute or mean square way), but not only minimizing the distance on the y axis, but the closest distance in the x,y plane (euclidean distance). Is there a function/way to do that? As I understand it, most curve fitting functions in MATLAB fit the according to the rmse in y-direction only.
x =[1.3049 1.4137 0.2165 0.6538 0.6135 1.0655]
y =[4.0280 4.0865 50.1873 11.8024 7.9184 5.5866]
2 commentaires
Roger Stafford
le 23 Nov 2017
If you use a fifth order polynomial, here's about as close as you can get:
X = [1.3049 1.4137 0.2165 0.6538 0.6135 1.0655];
Y = [4.0280 4.0865 50.1873 11.8024 7.9184 5.5866];
Y2 = 469.165558828655 - 3459.00108010757*X + 9145.4534625995*X.^2 ...
- 11008.7869446613*X.^3 + 6175.46754074994*X.^4 - 1313.19614251125*X.^5;
x = linspace(.2,1.5);
y = 469.165558828655 - 3459.00108010757*x + 9145.4534625995*x.^2 ...
- 11008.7869446613*x.^3 + 6175.46754074994*x.^4 - 1313.19614251125*x.^5;
[Y;Y2]
plot(x,y,'y-',X,Y2,'yo',X,Y,'r*')
Réponse acceptée
Jeff Miller
le 22 Nov 2017
Modifié(e) : Image Analyst
le 27 Nov 2017
It sounds like you want "orthogonal linear regression".
2 commentaires
Image Analyst
le 27 Nov 2017
You might find the FAQ interesting: http://matlab.wikia.com/wiki/FAQ#How_can_I_fit_an_ellipse_or_other_shape_to_a_set_of_XY_data.3F
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!