comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Constrained fit of a straight line: fixed intercept
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Constrained fit of a straight line: fixed intercept [message #72263] Fri, 27 August 2010 03:45 Go to next message
David Grier is currently offline  David Grier
Messages: 35
Registered: July 2010
Member
On 8/27/10 4:39 AM, David Grier wrote:
> On 8/27/10 12:36 AM, Joe Daal wrote:
>> Hi,
>>
>> I am not sure how easy this problem is, but it sure gave me hell
>> today.
>> I have the following vector arrays: X, Y,& Y_errors. There are 5
>> elements in each and they do form a nice line describes by Y = A + BX.
>> I need to fit this line with B as a free parameter and constrain A to
>> pass by the the third point.
>> So the problem narrows down to one parameter as: Y = (Y0 - BX0) + BX,
>> whre Y0 and B0 and the third point values (i.e., X[2] and Y[2]).
>> I tried using MPFIT with the PARINFO keyword. It just didn't work.
>> Any ideas? Thanks....
>>
>> -Joe
>
> How about:
>
> pivot = 2
> dy = y - y[pivot]
> dx = x - x[pivot]
> w = where(dx ne 0, count)
> if count gt 0 then $
> B = mean(dy[w]/dx[w]) $
> else $
> B = 0.

... and if you want to weight the results by the experimental errors:

weights = abs(1./y_errors[w]) ; for instrumental errors
B = mean(weights * dy[w] / dx[w]) / mean(weights)

TTFN,

David
Re: Constrained fit of a straight line: fixed intercept [message #72264 is a reply to message #72263] Fri, 27 August 2010 01:39 Go to previous messageGo to next message
David Grier is currently offline  David Grier
Messages: 35
Registered: July 2010
Member
On 8/27/10 12:36 AM, Joe Daal wrote:
> Hi,
>
> I am not sure how easy this problem is, but it sure gave me hell
> today.
> I have the following vector arrays: X, Y,& Y_errors. There are 5
> elements in each and they do form a nice line describes by Y = A + BX.
> I need to fit this line with B as a free parameter and constrain A to
> pass by the the third point.
> So the problem narrows down to one parameter as: Y = (Y0 - BX0) + BX,
> whre Y0 and B0 and the third point values (i.e., X[2] and Y[2]).
> I tried using MPFIT with the PARINFO keyword. It just didn't work.
> Any ideas? Thanks....
>
> -Joe

How about:

pivot = 2
dy = y - y[pivot]
dx = x - x[pivot]
w = where(dx ne 0, count)
if count gt 0 then $
B = mean(dy[w]/dx[w]) $
else $
B = 0.

TTFN,

David
Re: Constrained fit of a straight line: fixed intercept [message #72344 is a reply to message #72263] Fri, 27 August 2010 13:57 Go to previous message
Joe Daal is currently offline  Joe Daal
Messages: 9
Registered: May 2010
Junior Member
On Aug 27, 5:45 am, David Grier <david.gr...@nyu.edu> wrote:
> On 8/27/10 4:39 AM, David Grier wrote:
>
>
>
>> On 8/27/10 12:36 AM, Joe Daal wrote:
>>> Hi,
>
>>> I am not sure how easy this problem is, but it sure gave me hell
>>> today.
>>> I have the following vector arrays: X, Y,& Y_errors. There are 5
>>> elements in each and they do form a nice line describes by Y = A + BX.
>>> I need to fit this line with B as a free parameter and constrain A to
>>> pass by the the third point.
>>> So the problem narrows down to one parameter as: Y = (Y0 - BX0) + BX,
>>> whre Y0 and B0 and the third point values (i.e., X[2] and Y[2]).
>>> I tried using MPFIT with the PARINFO keyword. It just didn't work.
>>> Any ideas? Thanks....
>
>>> -Joe
>
>> How about:
>
>> pivot = 2
>> dy = y - y[pivot]
>> dx = x - x[pivot]
>> w = where(dx ne 0, count)
>> if count gt 0 then $
>> B = mean(dy[w]/dx[w]) $
>> else $
>> B = 0.
>
> ... and if you want to weight the results by the experimental errors:
>
> weights = abs(1./y_errors[w]) ; for instrumental errors
> B = mean(weights * dy[w] / dx[w]) / mean(weights)
>
> TTFN,
>
> David

Great! Thank you.
-Joe
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: problems with EOS_GD_EXTRACTREGION
Next Topic: Does ENVI_FILE_MNG work with 'In Memory' files?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:52:57 PDT 2025

Total time taken to generate the page: 0.00705 seconds