find an equation for the set of coordinates

I have the above plot with a different set of coordinates for each object(labeled by different colors). I was wondering if there was a way to find an approximate equation for each object in matlab.
I was thinking about smoothing out the "rougher" parts to make it easier but I'm not sure how to go about doing that. any ideas?
thanks

Respuestas (2)

Image Analyst
Image Analyst el 12 de Ag. de 2014
How about just taking the average of the coordinates
windowWidth = 5;
newx = conv(x, ones(1, windowWidth)/windowWidth, 'same');
newy = conv(y, ones(1, windowWidth)/windowWidth, 'same');

4 comentarios

Duncan
Duncan el 12 de Ag. de 2014
and then using polyfit?
Image Analyst
Image Analyst el 12 de Ag. de 2014
Editada: Image Analyst el 12 de Ag. de 2014
Huh? Why? conv2() is already like doing a polyfit of order 1 (a line). If you want higher order for less smoothing, use a Savitzky-Golay filter, sgolayfilt() in the Signal Processing Toolbox.
Perhaps increasing sampling and getting a smoother curve via splines would interest you. See attached demo.
Duncan
Duncan el 17 de Ag. de 2014
hi sorry, i noticed you put conv() in the e.g. and then said that conv2() is a polyfit of order 1.
Image Analyst
Image Analyst el 17 de Ag. de 2014
Sorry - I usually use conv2(), which is for 2D arrays (images). For a 1-D signal, you'd use conv().

Iniciar sesión para comentar.

Ahmet Cecen
Ahmet Cecen el 12 de Ag. de 2014

0 votos

I would use cftool, easier to play around with different fits, and not confined to polynomials.

Categorías

Productos

Preguntada:

el 12 de Ag. de 2014

Comentada:

el 17 de Ag. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by