calc median
This commit is contained in:
parent
4292b8e4dc
commit
d61329011b
27
gaboshlib/g_median.sh
Normal file
27
gaboshlib/g_median.sh
Normal file
@ -0,0 +1,27 @@
|
||||
function g_median {
|
||||
unset g_median_result
|
||||
|
||||
# Array with numbers
|
||||
local g_numbers=("$@")
|
||||
|
||||
# sort array
|
||||
local g_sorted_numbers=($(printf "%s\n" "${g_numbers[@]}" | sort -n))
|
||||
|
||||
# number of elements
|
||||
local g_num_elements=${#g_sorted_numbers[@]}
|
||||
|
||||
# calculate the middle
|
||||
local g_middle=$((num_elements/2))
|
||||
|
||||
local g_median
|
||||
# Falls die Anzahl der Elemente ungerade ist
|
||||
if ((g_num_elements % 2 == 1)); then
|
||||
g_median=${sorted_numbers[middle]}
|
||||
else
|
||||
# Falls die Anzahl der Elemente gerade ist
|
||||
g_calc "(${sorted_numbers[middle - 1]} + ${sorted_numbers[middle]}) / 2"
|
||||
g_median=$g_calc_result
|
||||
fi
|
||||
|
||||
g_median_result=$g_median
|
||||
}
|
Loading…
Reference in New Issue
Block a user