a way of taking out very different value before calculating an average

i'm programming in j# which receives GPS data.

I noticed that sometimes the GPS give very 'bad' or 'wrong' data from time to time.

I designed a program that calculates something according to the data it receives

but since sometime i get some bad datas i decided to take the average data of every 3 datas

for example, if i'm using the bearing, i would get three bearings and get the average of the three and use them as the value.

but sometimes one of the three values would read very incorrect data.

i was wandering if there was an algorithm of some sort to take out that bad data or give less weight to it when doing the average.


ex.

bearing1 = 39
bearing2 = 43
bearing3 = 05

when i get this, i don't want to average the three but actually get soemthing in between 39 and 43

please help

cheers
LVL 1
shpark82Asked:
Who is Participating?
 
objectsCommented:
perhaps do two passes, first to take the average of all numbers
and the 2nd to strip out any numbers that are drastically outside that average
0
 
objectsCommented:
if you know the valid range you could check each values falls inside it and ignore any value outside.
0
 
shpark82Author Commented:
actually even the wrong values are always going to be in range between 0 to 360 but it is just that sometimes the reading is incorrect by quite a bit
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
objectsCommented:
you need to know what is correct or incorrect, do u have a way of determing that. eg. how would u do ity manually
0
 
shpark82Author Commented:
compare the three and see which of the three are completely different from others

for example if i had a sample of 10 readings

10,12,11,9,33,10,11,13,8,10

i would know that 33 is a bad read and therefore put much less weight on it when calculating the average of these

standard deviation or something? not sure
0
 
CEHJCommented:
Take the median perhaps instead of the mean. (39 in your example)
0
 
CEHJCommented:
>>
first to take the average of all numbers
and the 2nd to strip out any numbers that are drastically outside that average
>>

If you're going to do it that way, you need to do it the other way around
0
 
Mayank SAssociate Director - Product EngineeringCommented:
Are you using any standard J# GPS API?
0
 
shpark82Author Commented:
i'm using J# express

free version from microsoft

how do you calculate median?

what is the difference between mean (average) and median?
0
 
CEHJCommented:
>>how do you calculate median?

Sort them and take the middle value

>>what is the difference ...

(See above)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.