Link to home
Start Free TrialLog in
Avatar of shpark82
shpark82

asked on

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
Avatar of Mick Barry
Mick Barry
Flag of Australia image

if you know the valid range you could check each values falls inside it and ignore any value outside.
Avatar of shpark82
shpark82

ASKER

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
you need to know what is correct or incorrect, do u have a way of determing that. eg. how would u do ity manually
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
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
>>
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
Are you using any standard J# GPS API?
i'm using J# express

free version from microsoft

how do you calculate median?

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

Sort them and take the middle value

>>what is the difference ...

(See above)