Connecting the threshold points of a curve using straight lines

1 visualización (últimos 30 días)
zafar khan
zafar khan el 2 de Mayo de 2017
Comentada: Image Analyst el 2 de Mayo de 2017
I want to connect the threshold point of energy using matlab programatically. I am unable to understand what is the best way to do it. Keeping in mind that at the end i will require only straight lines so need the data point for the lines fitting the curve. Any idea how can this be done?
  2 comentarios
Rik
Rik el 2 de Mayo de 2017
Are the straight lines known, or should they be generate from the curve?
If the first is the case, it is just a matter of finding the intersection coordinates of two straight lines, which should take you 5 minutes to Google.
If the latter is the case, I think I would try an iterative approach: use polyfit for more and more points, until a threshold is reached for a GOF-parameter, then start selecting points for the next line segment.
zafar khan
zafar khan el 2 de Mayo de 2017
Well the orginal idea is to draw tangents ideally passing through or preferbly interstcting at the top or bottom point of curve tgreshold. As i require to do it without looking at it and at the end need the y values which will b values of tangent at time as x is time.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 2 de Mayo de 2017
Assuming you don't know exactly where the tangent lines should fall, I think this is a case of finding the "minimum perimeter polygon". See http://dip.sun.ac.za/~hanno/tw444/lesings/lesing_19.pdf for a lesson on it.
  3 comentarios
zafar khan
zafar khan el 2 de Mayo de 2017
As per my understandin mpp is used to reduce the number of data points,but in my case each curve has 48 data points and i want to draw tangents just to linearize the shape. However, after drawing such tangents ( trying to draw tangents to best represet the original data) i will need that values of y or tangent values which are again 48 i.e half hourly reading of energy.
Image Analyst
Image Analyst el 2 de Mayo de 2017
Knowing the data points, and the fact that there are lines in between them, you can use linspace() or interp1() to get a bunch of points in between.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by