Path: news.mathworks.com!newsfeed-00.mathworks.com!panix!newsfeed.stanford.edu!shelby.stanford.edu!not-for-mail
From: "Linus Utopia" <linus_utopia@gmail.com>
Newsgroups: comp.soft-sys.matlab,sci.math,sci.stat.math,sci.stat.consult,sci.stat.edu
Subject: Re: How to detect turning points in curves...
Date: Thu, 12 Jul 2007 22:49:41 -0400
Lines: 56
Message-ID: <f76pbs$mef$1@news.Stanford.EDU>
References: <f76kg0$ic0$1@news.Stanford.EDU> <1184291939.529828.55100@o61g2000hsh.googlegroups.com>
X-Trace: news.Stanford.EDU 1184295100 22991 127.0.0.1 (13 Jul 2007 02:51:40 GMT)
X-Complaints-To: news@news.stanford.edu
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
Xref: news.mathworks.com comp.soft-sys.matlab:418859 sci.math:1030743 sci.stat.math:78233 sci.stat.consult:58907 sci.stat.edu:48352





<AWinestein@gmail.com> wrote in message 
news:1184291939.529828.55100@o61g2000hsh.googlegroups.com...
> On Jul 12, 9:26 pm, "Linus Utopia" <linus_uto...@gmail.com> wrote:
>> How to detect turning points in curves
>>
>> Hi all,
>>
>> If you take a look at the following plot,
>>
>> http://img63.imageshack.us/img63/5050/gggyt1.jpg
>>
>> You will agree with me that there are two turning points.
>>
>> But is there a systematic way to let computer detect the turning points
>> automatically and programmatically?
>>
>> Please be advised that the second turn isn't neccessarily turning down, 
>> it
>> can also possibly go up...
>>
>> And in real-world applications, the turn can be more smooth and round, 
>> but
>> still, naked eyes should be able to find the turning points easily.
>>
>> My program has to do a classification:
>>
>> All the good curves should first go down, and then either make no turns; 
>> or
>> make a turn, and stay vertically flat and slightly up, going from the 
>> left
>> to the right.
>>
>> There should be no second turn (up or down). If there is the second turn,
>> then that's the bad curves.
>>
>> My program needs to decern the good curves from bad curves.
>>
>> I cranked a few algorithms but they don't work well. Are there systematic
>> methods of handling this?
>>
>> Thanks a lot!
>
> My browser wouldn't show your image, but here's a
> thought.  If your points are sampled at equal intervals,
> you can do a Fourier transform, use the analytic expression
> of the derivative term by term and the Fourier coefficients
> to calculate the derivative of the Fourier representation
> of your "function", and find the zeros of the derivative
> and take those as the turning points.  FWIW.
>

How? Could you please elaborate?