Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Check if line is straight

by anonymized user 468275 (Curate)
on May 16, 2011 at 12:50 UTC ( [id://905065]=note: print w/replies, xml ) Need Help??


in reply to Check if line is straight

You only need to eliminate vertical lines where x = c. So if the first two points have the same x value, you only have to check that all subsequent points have the same x-value. Otherwise, havijng eliminated the exceptional case, you can process each pair of points (in any order! i.e. iterate the 2nd thru last comparing with iterator - 1) to ensure they produce consistent (throughout the loop) values for m and c in the simultaneous equation y1=m*x1+c and y2=m*x2+c.

BUT, if this is experimental data, you need to calculate the standard deviation from the line of regression instead, e.g. using Statistics::LineFit.

Update: I'd refer to zentara's Solving Simultaneous Equations with Matrices (use PM Supersearch) for the second part of the algorithm). And even if the data were not experimental, personally I'd go the Stats Line Fit route anyway because it is a tolerant solution to rounding errors.

One world, one people

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://905065]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2026-05-10 20:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.